2008-11-03 2 views
1

Я старую руку во встроенных программах, но новичок в CE и испытываю массу неприятностей, делая довольно простые вещи, потому что я не знаком с API и стараюсь понять неясные документы MSDN.Переключение между видимыми приложениями в Windows CE 5, Lang: C++

Все, что я хочу сделать, сводится к минимуму и максимизации двух отдельных приложений, которые запускаются из одного из приложений.

E.g. Приложение A решает, что теперь настало время для его появления, а затем минимизирует приложение B (приложение B является сторонним приложением, например записной книжкой, без доступа к исходному коду и т. Д.), А затем на более поздней стадии, максимизируя B и сводя к минимуму.

Приложение A было бы написано мною.

Я уверен, что это должно быть очень простым, но где найти ответы .. :)

Спасибо заранее. EOI

ответ

1

Во-первых, вам нужно будет найти дескриптор окна (hwnd) с помощью функции API FindWindow или некоторых альтернативных средств. Затем используйте функцию API ShowWindow, указав либо SW_HIDE, либо SW_SHOW, чтобы скрыть или показать окно соответственно. Обратите внимание, что Windows CE 5.0 не технически поддерживает окна Win32 состояния как SW_MINIMIZE, SW_MAXIMIZE и т.д.

Простой пример будет:

HWND hWnd = ::FindWindow(_T("Notepad"), NULL); 
::ShowWindow(hWnd, SW_HIDE); 
0

Вы также можете найти SetForegroundWindow и SetWindowPos полезным.

Это, как я использовал их, чтобы показать и скрыть приложение:

SetWindowPos(windowToHide, 0, 0, 0, 0, 0, SWP_HIDEWINDOW); 
SetWindowPos(windowToShowInFullScreen, HWND_TOP, 0, 0, 240, 320, SWP_SHOWWINDOW); 
SetForegroundWindow(windowToShow);