Windows XP では、次のコードを使用して [スタート] ボタンを無効にすることができました。
hTray = FindWindow (TEXT("Shell_TrayWnd"), NULL);
if (hTray)
{
hStartButton = FindWindowEx(hTray, NULL, TEXT("Button"), NULL);
if (hStartButton) ShowWindow(hStartButton, FALSE);
}
パブリック アクセス コンピューター構成の場合、Windows 7 でこれを実行できる必要があります。[スタート] ボタンは (非表示にするだけでなく) 無効にする必要があり、タスク バーの残りの部分は引き続き表示され、使用できる必要があります。スタートボタンと一緒にタスクバーを非表示にすることはオプションではありません。フルスクリーンで実行することはオプションではありません。"Start Killer" を使用しても、実際には [スタート] ボタンが無効になるわけではなく、非表示になるだけなので機能しません (ユーザーは引き続きホットキーを使用して [スタート] メニューを表示できます)。
FindWindowEx
0xC017 を 3 番目のパラメーターとして使用し、そのウィンドウを無効にしようとする方法を既に試しました。うまくいきません。この方法は、タスクバー全体が最初に無効になっている場合にのみ機能します。必要なのは、上記で再現したコードが XP で行っているように、[スタート] メニューのみを無効にする方法です。
どんな助けでも大歓迎です。