吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 626|回复: 3
收起左侧

[求助] C++注册表修改程序

[复制链接]
wuhao121 发表于 2023-11-17 09:19
求大佬帮忙指导下,如图所示,3个编辑框ID分别是IDC_EDIT1、IDC_EDIT2、IDC_EDIT3,3个按钮IDC_BUTTON1、IDC_BUTTON2、IDC_BUTTON3,需要在IDC_EDIT3中输入时长(天数),点击IDC_BUTTON1停更按钮,会直接修改注册表中系统更新时间:HKEY LOCALMACHINESOFTWARE Microsoft)WindowsUpdatelUX Settings
微信图片_20231117091908.png

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

爱飞的猫 发表于 2023-11-17 09:50
本帖最后由 爱飞的猫 于 2023-11-17 09:52 编辑
  • 修改 WndProc 窗口处理事件,处理你的按钮的事件。检查 message 参数为 WM_COMMAND 按钮事件,wParam 为组件 ID (如 IDC_BUTTON1)。
  • GetDlgItemText 获取编辑框内容
  • RegSetKeyValue 写出注册表项(或复杂的 RegOpenKeyEx + RegSetValueEx + RegCloseKey 组合)

API 的使用说明可以参考上述链接中的 MSDN 文档,微软有自带机翻。不确定的话可以搜 API 名称看别人怎么使用。

注册表操作的话需要注意要在项目链接 advapi32.lib。在【项目设定→链接器(Linker)→输入(Input)】里面加入。

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
zxinyun + 2 + 1 我很赞同!

查看全部评分

无问且问 发表于 2023-11-17 10:45
本帖最后由 无问且问 于 2023-11-17 10:55 编辑

下面是一个测试函数
[C++] 纯文本查看 复制代码
void reg() {
    HKEY key;
    LONG result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\WindowsUpdate\\UX\\Settings", 0, KEY_ALL_ACCESS, &key);
    if (result == ERROR_SUCCESS) {
        DWORD value = 888;
        result = RegSetValueExW(key, L"FlightSettingsMaxPauseDays", 0, REG_DWORD, (const BYTE*)&value, sizeof(value));

        if (result == ERROR_SUCCESS) {
            std::cout << "注册表修改成功" << std::endl;
        }
        else {
            std::cerr << "注册表修改失败,错误代码为:" << result << std::endl;
        }

        RegCloseKey(key);
    }
    else {
        std::cerr << "注册表打开失败,错误代码为:" << result << std::endl;
    }
}



注意,平台需要选择x64,不能选择x86

平台选择

平台选择


调试了很久,一直以为是权限问题,用检查权限的函数也显示没问题,后续居然发现是平台问题,崩溃了
chayunyuxiang 发表于 2023-11-17 12:47
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 18:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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