中易网

C++ 如何创建并写入一个键值,请问这个代码哪里有错

答案:2  悬赏:0  
解决时间 2021-04-17 19:48
我使用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;
}
最佳答案
string 这东西你怎么能这么用???那本书多看看
对于const char cc[]="123456";
当你用在RegSetValueEx 作为后两个参数时要这么用

(LPBYTE ) cc, strlen(cc)
而如果是string,要这么用
std::string ss="123456";
(LPBYTE)ss.c_str() , ss.length()

你最好找本stl的书看看
全部回答
参看msdn regcreatekey handle hkey=null; regcreatekey(hkey_local_machine,"software\\abc",&amp;hkey); regsetvalue(hkey,null,reg_sz,"value",strlen("value")); regsetvalue你再看下,大概就是这意思了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
今天广州的天气怎么样????
二手手机好,还是翻新机好。。。
热电厂的蒸汽能起烘干作用或者起脱水作用哇?
华人女星中,都谁在电影中露过点啊?
福鼎哪里招暑假工
钢琴谱的A,B,C,D.E,F,G都表示什么调,具体是
人是需要感情?还是需要事业和财富?
暖手宝充电时炸了一下
我想买房子在衢州有那些房产网啊
一个月的宝宝吃什么奶粉不容易上火
一个圆柱体积是50.24立方厘米,底面半径2厘米
球鞋防雾防水喷雾怎么样
卓萌的寓意是什么?
2013洛阳市二手出租车什么价格?想买一辆用过6
谁帮我起个带有“静”的妮称啊
推荐资讯
我想学习捏面人在安阳有没有会捏面人的老师傅
為什麽我大搶502的力量現在變成477了
淘宝上阳光数码港这家店铺怎么样????买过
郑州一般肠镜检查得多少钱
专接本的考试内容大致是什么?
surface pro 4 (coreM 128g ) 这是什么东西
大连石化和中国一重哪个好
为什么烤箱烤的蛋糕外面已经糊了,里面还湿的
如何做格力空气能热水器经销商
英语六级试题买哪个好些
我这样的配置玩天龙八部为什么还卡?
水运工程设置反滤层的目的是什么?倒滤层和反
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?