我想以编程方式按需(立即)禁用或启用 Windows XP/7 开始菜单中的Shutdown
、Restart
、Hibernate
和选项。Sleep
使用gpedit.msc
工具和设置Remove and prevent access to Shut Down command
/Enabled
会Disabled
立即影响开始菜单,这些选项会根据需要显示/隐藏。但是我不能编写一个程序来做到这一点。
我找到了一个编程解决方案,它正在创建NoAction
变量,并将值1
放置在此注册表路径中:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
但这不会立即禁用 Shutdown/etc 并在重新启动后explorer.exe
影响。
我还尝试explorer.exe
使用RefreshPolicyEx、RefreshPolicy、SHChangeNotify和广播WM_SETTINGCHANGE
和WM_WININICHANGE
通知,但这些通知资源管理器都没有重新阅读注册表/策略。
我想使用组策略 API会是一个很好的解决方案,但不知道如何使用它。你能给我一个使用组策略 API 应用本地组策略的简单代码吗?
或者,您知道以编程方式立即启用/禁用关机/等的任何其他方法吗?
注意:目标平台是Windows XP和Windows 7