1
SetWindowPos(hwnd, hWndTopMost, 0, 0,
    Screen.PrimaryScreen.Bounds.Size.Width,
    Screen.PrimaryScreen.Bounds.Size.Height,
    SWP_NOOWNERZORDER);

これは、フォームを全画面表示して上部に表示するコードですが、alt + ctrl + delete を誘導すると、フォームがアクティブでなくても、このフォームの背面でタスク マネージャーがアクティブになります。キャプションバーの色で分かります。この問題は、win8 OS でのみ発生しています。フックなどのアプリのプロパティを失うことなく、アクティブなタスク マネージャーを表示したいと考えています。上記のフラグを変更してどのように達成できますか?

4

1 に答える 1

0

文書化された WinAPI 関数では実現できません。Windows 8 のタスク マネージャーは、最上位のウィンドウを含むすべてのウィンドウの最上位になるために、文書化されていない方法を使用します。

具体的には、CreateWindowInBandWinAPI 関数を使用して効果を実現します。

于 2013-10-01T14:53:04.803 に答える