1

通知ポップアップメニューの外側をクリックすると消える方法について読みましたが、提案されたコードを使用すると、右クリックするとタスクバーのポップアップメニューと自分のメニューが表示されます。メニューだけ表示するにはどうすればよいですか?これが私のコードです:

SetForegroundWindow(Form1.Handle);
PopupMenu1.Popup(x, y);
PostMessage(Form1.Handle, WM_NULL, 0, 0);

編集:さて、私は以下にコメントしたことに関連する何かをする必要があったようです。

  trayhandle := FindWindow('Shell_TrayWnd', '');
  trayhandle := FindWindowEx(trayhandle, 0, 'TrayNotifyWnd', nil);
  trayhandle := FindWindowEx(trayhandle, 0, 'SysPager', nil);
  trayhandle := FindWindowEx(trayhandle, 0, 'ToolbarWindow32', nil);
  PostMessage(trayHandle, WM_LBUTTONDOWN, MK_LBUTTON, 0);
  PostMessage(trayHandle, WM_LBUTTONUP, MK_LBUTTON, 0);
  SetForegroundWindow(Handle);
  PopupMenu1.Popup(x, y);
  PostMessage(Handle, WM_NULL, 0, 0);

私は他の作業を行い、このアプリに戻ってきました。メニュー(および私のメニューのみ)は正しく表示され、正しく消えます。(マウスの左ボタンをトリガーする以外に)正常に動作しているように見えますか?

4

0 に答える 0