吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5136|回复: 19
收起左侧

[原创工具] "开始"菜单按钮隐藏工具——当前没有可用的电源选项

  [复制链接]
hui-shao 发表于 2021-8-14 21:23
本帖最后由 hui-shao 于 2021-8-15 22:29 编辑

StartMenuButtonHider

"开始"菜单按钮隐藏工具(可以隐藏电源按钮,用户图标等等)

可以作为一个整蛊小程序?(bushi

其实还有其他价值,比如,这个程序展示了很多"用 Win32Api 修改注册表的细节(坑)",还有 "MessageBox 的一些用例"

贴一段 32 位程序写 64 位系统注册表的代码吧,注释的地方基本上就是踩过的坑。

int reg_rw(HKEY hKey = NULL, LPCSTR SubKey = NULL, LPSTR ValueName = NULL, DWORD dwType = REG_DWORD, int data = 0,
        DWORD dwOptions = REG_OPTION_NON_VOLATILE, REGSAM samDesired = KEY_ALL_ACCESS | KEY_WOW64_64KEY) {
        // samDesired 参数需要添加 KEY_WOW64_64KEY ,否则32位程序无法修改64位系统的注册表,会被重定向到 WOW6432Node
        // ValueName、dwType、data 是 RegSetValueEx所需的, 分别是 值的名称、类型、数据

        // 创建或打开一个键
        DWORD dwDisposition; // 定义 dwDisposition 用于接收返回码
        auto result = RegCreateKeyEx(hKey, SubKey, 0, NULL, dwOptions, samDesired, NULL, &hKey, &dwDisposition);
        cout << "" << endl;
        if (ERROR_SUCCESS != result) {
                cout << " 创建注册表失败, 错误代码:" << result << endl;
                return -1;
        }
        else {
                if (dwDisposition == REG_OPENED_EXISTING_KEY) {
                        cout << " 已打开一个存在的注册表项: " << hKey << "\\" << SubKey << endl;
                }
                else if (dwDisposition == REG_CREATED_NEW_KEY) {
                        cout << " 已新建一个注册表项: " << hKey << "\\" << SubKey << endl;
                }
        }

        // 设置值. 注意, RegSetValue的后两个参数仅适用于 REG_DWORD 类型的值, 其他情况参阅 Win32 api 文档
        // RegSetValueEx 必须与 RegCreateKeyEx 或者 RegOpenKeyEx 连用 (因为需要hKey句柄)
        RegSetValueEx(hKey, ValueName, 0, REG_DWORD, (LPBYTE)&data, sizeof(DWORD));

        // 关闭
        RegCloseKey(hKey);
        return 0;
}

实现原理

通过 Win32 API 对特定注册表的值 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Start\XXXXXX 进行修改。

当然,使用组策略也可以实现。

不过,考虑到使用家庭版等非专业版系统的用户,程序还是采用注册表修改方式。

因此,运行本程序需要管理员权限,另外若有安全软件拦截,请放行。

软件展示

软件截图

001.png

002.png

相关视频

最早是录了个视频的,感觉会详细些。

你的电脑暂时不想关机——当前没有可用的电源选项 (开始菜单按钮隐藏教程)【原创/整蛊】

使用方式

双击打开程序,输入对应选项前的序号并按下"Enter"即可。

支持一次输入多个纯数字序号,使用空格隔开。

如果有其他按钮隐藏需要,可以自行修改源码,替换源码中注册表路径的子键

注意事项

本程序已在 Windows 7 / Windows 10 上测试通过。理论上支持 Windows Vista 和 Windows 8,Windows XP 未知。

Win7 及以下版本请使用 StartMenuButtonHider_Win7.exe,其余版本使用 StartMenuButtonHider.exe 即可。

开源地址&下载链接

Github 或者 Gitee , 到 Release 页面就可以下载了。

免费评分

参与人数 3吾爱币 +10 热心值 +3 收起 理由
yjqyjq1717 + 1 + 1 谢谢@Thanks!
ialove + 2 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jt4211 发表于 2021-8-25 09:56
hui-shao 发表于 2021-8-16 16:55
哈哈哈哈,再把 slidetoshutdown.exe 和 shutdown.exe 重命名一下,然后禁用掉 ctrl alt win f4 等等按键 ...

不错,辛苦了!
 楼主| hui-shao 发表于 2021-8-16 16:55
360MEMZ 发表于 2021-8-16 15:04
谢谢分享,我已经把朋友坑死了
没有运行
禁用任务管理器

哈哈哈哈,再把 slidetoshutdown.exe 和 shutdown.exe 重命名一下,然后禁用掉 ctrl alt win f4 等等按键,完美~
ptmaliang 发表于 2021-8-15 17:33
人心所向 发表于 2021-8-15 20:41
感谢分享
q314956820 发表于 2021-8-16 10:28
怎么没有成品呀 是源码呀
丑到变态 发表于 2021-8-16 14:57
感谢分享。
360MEMZ 发表于 2021-8-16 15:04
谢谢分享,我已经把朋友坑死了
没有运行
禁用任务管理器
电源按钮设置休眠,禁用控制面板
就是不知道怎么隐藏开始菜单里的关机
感谢这个应用
yjqyjq1717 发表于 2021-8-16 15:16
感谢楼主的分享
可口美食 发表于 2021-8-16 15:58

感谢分享。
 楼主| hui-shao 发表于 2021-8-16 16:56
q314956820 发表于 2021-8-16 10:28
怎么没有成品呀 是源码呀

在链接里面的 release 页面里面,有编译好的成品哈,版本号 1.0.0
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 10:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表