读注册表键值

dwlzz 2009-02-25 04:14:13
请指点下我想把读出来的注册表(是一个路径)复制这个路径怎么写啊,比如下面的


HKEY hKey;
char SubKeyName[] = "Software\\Microsoft\\Windows\\dalv";
char ValueName[] = "play";
BYTE ValueData[200];
DWORD Buffer;
RegOpenKeyEx(HKEY_CURRENT_USER,SubKeyName,0,KEY_ALL_ACCESS,&hKey);
Buffer = sizeof (ValueData);
//读注册表键值
RegQueryValueEx(hKey,ValueName,0,NULL,ValueData,&Buffer) ;
printf("%s\n",ValueData); //这里输出的是路径(c:\windows\dalv)
//我想把c:\windows\dalv下的dalv.exe拷贝到c:\\,怎么才能执行下面这句话呢
CopyFile(strcat(ValueData,"\\dalv.exe"),"c:\\dalv.exe",1);
}
错误提示:
error C2664: 'strcat' : cannot convert parameter 1 from 'unsigned char [200]' to 'char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
执行 cl.exe 时出错.
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2009-03-07
  • 打赏
  • 举报
回复
strcat的参数类型不对
CopyFile(strcat(&ValueData,"\\dalv.exe"),"c:\\dalv.exe",1);
cppzhentan 2009-03-07
  • 打赏
  • 举报
回复
换成char类型就可以了
  • 打赏
  • 举报
回复
strcat用的时候对不匹配的型参作显式转换就可以了.
NesTa_xP 2009-02-25
  • 打赏
  • 举报
回复
jf~~

char *strcat( char *strDestination, const char *strSource );
Dinelgua 2009-02-25
  • 打赏
  • 举报
回复
1楼正解
  • 打赏
  • 举报
回复
CopyFile(strcat((char*)ValueData,"\\dalv.exe"),"c:\\dalv.exe",1);

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧