Windows XP/7 のスタート メニューにあるShutdown
、Restart
、Hibernate
、およびオプションを、プログラムによってオンデマンドで (すぐに)無効または有効にしたい。Sleep
gpedit.msc
ツールを使用して/に設定Remove and prevent access to Shut Down command
すると、すぐにスタートメニューに影響し、これらのオプションは必要に応じて表示/非表示になります。しかし、私はこれを行うためのプログラムを書くことができません。Enabled
Disabled
このレジストリ パスにNoAction
値を配置して変数を作成するプログラム ソリューションを 1 つ見つけました。1
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
ただし、これは Shutdown/etc をすぐに無効にするわけではなく、再起動後explorer.exe
に影響します。
また、 RefreshPolicyEx、RefreshPolicy、SHChangeNotify 、およびブロードキャストで通知しようとexplorer.exe
しましたが、これらの情報に基づいたエクスプローラーでレジストリ/ポリシーを再読み取りすることはありませんでした。WM_SETTINGCHANGE
WM_WININICHANGE
グループ ポリシー APIを使用するのは良い解決策だと思いますが、その使用方法がわかりません。グループ ポリシー API を使用してローカル グループ ポリシーを適用する簡単なコードを教えてください。
または、 shutdown/etc をすぐにプログラムで有効/無効にする他の方法を知っていますか?
注:対象プラットフォームはWindows XPおよびWindows 7です。