1

私は組み込みプログラミングに精通していますが、CEに不慣れで、APIに精通しておらず、あいまいなMSDNドキュメントを理解するのに苦労しているため、かなり単純なことを行うのに多くの問題を抱えています。

私がやりたいのは、アプリケーションの1つから実行されている2つの別々のアプリケーションを最小化および最大化することです。

たとえば、アプリケーションAは、それが表示される時間であると判断し、アプリケーションBを最小化します(アプリBは、メモ帳などのサードパーティアプリケーションであり、ソースコードへのアクセスがないなど)。その後、Bを最大化し、それ自体を最小化します。

アプリケーションAは自分で作成します。

これは非常に単純なはずですが、答えはどこにありますか.. :)

前もって感謝します。EOI

4

2 に答える 2

1

まず、 FindWindow API関数またはその他の手段を使用してウィンドウハンドル(hwnd)を見つける必要があります。次に、SW_HIDEまたはSW_SHOWのいずれかを指定するShowWindow API関数を使用して、それぞれウィンドウを非表示または表示します。Windows CE 5.0は、SW_MINIMIZE、SW_MAXIMIZEなどのWin32ウィンドウの状態を技術的にサポートしていないことに注意してください。

簡単な例は次のとおりです。

HWND hWnd = ::FindWindow( _T("Notepad"), NULL); 
::ShowWindow(hWnd, SW_HIDE); 
于 2008-11-03T18:58:48.007 に答える
0

SetForegroundWindow と SetWindowPos も便利です。

これは、アプリケーションを表示および非表示にするためにそれらを使用した方法です。

SetWindowPos(windowToHide, 0, 0, 0, 0, 0, SWP_HIDEWINDOW);
SetWindowPos(windowToShowInFullScreen, HWND_TOP, 0, 0, 240, 320, SWP_SHOWWINDOW);
SetForegroundWindow(windowToShow);
于 2008-11-06T10:54:11.180 に答える