Last Updated 2003/05/27
Programming Tips Visual C++ API  索 引 
スタートメニュー抑制
2003/05/27

Ctrl + ESC キーやウィンドウズキーはスタートメニューを表示する.
これを回避する.
WM_KEYDOWN や WM_CHAR ではフックを用いても回避は出来ない.
Ctrl + ESC キーやウィンドウズキーは Shell_TrayWnd(ShellTray) に WM_USER + 260(0x0504)のメッセージを送信する.
GetMessage をフックする DLL を作成し,WM_USER + 260 を WM_NULL に書き換えればメニューは表示されなくなる.

ウィンドウズキーとの組み合わせ([Windows]+[E]でExplorer起動や[Windows]+[R]で"ファイル名を指定して実行"など)の場合を抑制するなら,WH_GETMESSAGE のフックプロシジャの中で,WM_HOTKEY(modifierがMOD_WINのもの)メッセージをWM_NULLに書き換える.
しかし,それでも万能ではないので,ウィンドウズキーとの組合せを抑制するのであれば,ポリシーエディタを使用すればよい.


参照
前後のTips
スタートメニュー抑制

DSS ProgrammingTipsCGI Ver2.01