3

wndprocでこれを行うことにより、ウィンドウをトレイに「最小化」した後、ウィンドウを復元できません。

case WM_SIZE:
  if (wparam==SIZE_MINIMIZED) {
    ShowWindow(hwnd,SW_HIDE);
  }
  break;

トレイ メッセージ ハンドラは次のようになります。

case TRAY_ICON_MESSAGE:
  switch(lparam) {
  case WM_LBUTTONDOWN:
    ShowWindow(hwnd, SW_RESTORE);
    BringWindowToTop(hwnd);
    SetFocus(hwnd);
    break;
  // ...

ウィンドウは再表示されますが、常に他のウィンドウの下に隠れており、一番上には表示されません。SetFocus() も BringWindowToTop() も効果がないようです。

4

3 に答える 3

2

関数がエラーを返すかどうか見てもらえますか?

SetForegroundWindowを見ることもできます

于 2009-02-14T19:51:04.823 に答える
-1

SetForeground を使用しないでください。

msdn のコメントを参照してください。

于 2009-02-15T06:55:18.380 に答える