使用 C++ 更改注册表值?(系统命令失败)
Changing a registry value with C++? (system command failed)
好吧,我一次又一次地被告知系统命令不好,但是我需要更改注册表值,我的强项是批处理,所以我有一个命令行事:
system("REG ADD "HKCUControl PanelDesktop" /V Wallpaper /T REG_SZ /F /D "C:background.bmp"");
system("REG ADD "HKCUControl PanelDesktop" /V WallpaperStyle /T REG_SZ /F /D 0");
system("REG ADD "HKCUControl PanelDesktop" /V TileWallpaper /T REG_SZ /F /D 2");
system("%SystemRoot%System32RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters");
但是,使用此功能会使Visual C++ 2010 Express突出显示HKCU以及面板和桌面之间的斜杠作为错误,并且不允许我编译或调试我的程序。我不想使用系统命令,所以我想知道如何使用C++来执行相同的注册表命令?我不了解 WIN32 注册表 API???
是否可以为此使用系统命令
system("%SystemRoot%System32RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters");
因为我不知道C++是否可以在没有它的情况下执行相同的任务,以及是否可以执行???
抱歉,我知道这是一个大问题,但如果可能的话,请您包含代码,我才刚刚开始,其他论坛都没有任何意义,我一直在寻找三个小时(我对计算机也不傻)!!
提前致谢
请使用 Win32 注册表 API!!
编写包含特殊字符的字符串文本需要一些额外的工作。 例如,在代码中,ADD
后面的"
是字符串的末尾。
您需要在每个特殊字符(包括引号和退格符)之前放置一个退格键,以确保将它们放入字符串中,而不是由编译器处理。 这称为转义。
结果将如下所示:
system("REG ADD "HKCU\Control Panel\Desktop" /V Wallpaper /T REG_SZ /F /D "C:\background.bmp"");
当然,使用注册表 API 是完成任务的更好选择,但您还需要知道如何正确编写字符串文本。
相关文章:
- Netbeans 10:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 链接器命令失败,macOS 上的退出代码为 1(使用 -v 查看调用)
- CMake 错误:链接器命令失败,退出代码为 1 和 cpp.o 文件
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 如何修复 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 当命令失败时,gzip 会在 C++ 中返回错误代码吗?
- Xcode:链接器命令失败,退出代码为 1(使用 -v 查看调用)[C++]
- 提供变量作为 MATLAB 系统命令的输入参数,以便C++可执行文件
- 电报上的构建命令失败
- Android NDK.Build命令失败.未定义的引用.clang++:错误:链接器命令失败,退出代码为1
- exteranl原生构建问题,构建命令失败,android工作室
- build命令失败,外部原生问题android工作室
- 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用):在 Macbook 上
- make:致命错误:目标命令失败
- C++ XCODE ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -
- Android opencv 3.4.1 Build 命令失败.未定义的引用
- clang:错误:链接器命令失败,C++代码中的退出代码为 1(使用 -v 查看调用)
- Xcode 10.0:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 使用 C++ 更改注册表值?(系统命令失败)
- Linux c++系统命令失败