スタートメニューを開くたびに表示し、メニューを閉じると再び非表示にしたいC#でWPFアプリケーションを作成しました。スタートメニューの状態をポーリングせずにこれを行うことをお勧めします。これまでのところ、SHELLHOOK メッセージを聞いてみましたが、有用なものは何も見当たりません。
質問する
858 次
1 に答える
2
完全なコードを書くことはできませんが、その背後にあるロジックは次のとおりです。
まず、次を使用してタスク バーのハンドルを見つけます。
[DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
Shell_TrayWnd
lpClassName としても渡すクリックボタンをシミュレートして、スタートメニューをアクティブにします。
スタートメニューのウィンドウハンドルを取得する
GetWindowLong
関数を使用して、開いているかどうかを確認します。
于 2012-06-20T13:45:23.310 に答える