我使用regsetvalueex函数在HKEY_LOCAL_MACHINE\\SOFTWARE\\Adobe\\test下写入一个string键值,但是程序成功完成了写入注册表的值数据却是乱码,求大神帮忙解决
void SetVal(HKEY hKey, LPCTSTR lpValue) //设置注册表键值
{
string data="0x1C334DFF567C"
LONG nError = RegSetValueEx(hKey, lpValue, NULL, REG_MUI_STRING_TRUNCATE, (LPBYTE)&data, sizeof(data));
if (nError)
cout << "Error: " << nError << " Could not set registry value: " << (char*)lpValue << endl;
}
C++ 如何创建并写入一个键值,请问这个代码哪里有错
答案:2 悬赏:0
解决时间 2021-04-17 19:48
- 提问者网友:枫涩帘淞幕雨
- 2021-04-17 13:56
最佳答案
- 二级知识专家网友:何必打扰
- 2021-04-17 14:22
string 这东西你怎么能这么用???那本书多看看
对于const char cc[]="123456";
当你用在RegSetValueEx 作为后两个参数时要这么用
(LPBYTE ) cc, strlen(cc)
而如果是string,要这么用
std::string ss="123456";
(LPBYTE)ss.c_str() , ss.length()
你最好找本stl的书看看
对于const char cc[]="123456";
当你用在RegSetValueEx 作为后两个参数时要这么用
(LPBYTE ) cc, strlen(cc)
而如果是string,要这么用
std::string ss="123456";
(LPBYTE)ss.c_str() , ss.length()
你最好找本stl的书看看
全部回答
- 1楼网友:两不相欠
- 2021-04-17 15:04
参看msdn regcreatekey
handle hkey=null;
regcreatekey(hkey_local_machine,"software\\abc",&hkey);
regsetvalue(hkey,null,reg_sz,"value",strlen("value"));
regsetvalue你再看下,大概就是这意思了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯