如何使用C++

发布于 2025-02-06 02:59:17 字数 1490 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

澜川若宁 2025-02-13 02:59:18

在C和C ++中,您需要逃脱\字符时使用字符串/字符字面的字符,例如:

system("REG ADD HKLM\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid /t REG_SZ /d %random%-%random%-%random%-%random% /f");

话虽这么说,您确实不应该使用system()>像这样。代替使用win32 API,即cocreateGuid()string> string> string> string> string> regcreatekeyex() ,例如:

#include <windows.h>
#include <objbase.h>

GUID guid;
HRESULT hRes = CoCreateGuid(&guid);
if (FAILED(hRes)) ...

WCHAR szGuid[40];
int len = StringFromGUID2(&guid, szGuid, 40);
if (len == 0) ...

HKEY hKey;
LSTATUS lRes = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Cryptography", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, NULL);
if (lRes != ERROR_SUCCESS) ...

lRes = RegSetValueExW(hKey, L"MachineGuid", 0, REG_SZ, (BYTE*)szGuid, len*sizeof(WCHAR));
if (lRes != ERROR_SUCCESS) ...

RegCloseKey(hKey);

In C and C++, you need to escape the \ character when used in a string/character literal, eg:

system("REG ADD HKLM\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid /t REG_SZ /d %random%-%random%-%random%-%random% /f");

That being said, you really should not be using system() like this. Use Win32 APIs instead, namely CoCreateGuid(), StringFromGUID2(), RegCreateKeyEx(), and RegSetValueEx(), eg:

#include <windows.h>
#include <objbase.h>

GUID guid;
HRESULT hRes = CoCreateGuid(&guid);
if (FAILED(hRes)) ...

WCHAR szGuid[40];
int len = StringFromGUID2(&guid, szGuid, 40);
if (len == 0) ...

HKEY hKey;
LSTATUS lRes = RegCreateKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Cryptography", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, NULL);
if (lRes != ERROR_SUCCESS) ...

lRes = RegSetValueExW(hKey, L"MachineGuid", 0, REG_SZ, (BYTE*)szGuid, len*sizeof(WCHAR));
if (lRes != ERROR_SUCCESS) ...

RegCloseKey(hKey);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文