注册表取值问题

qingxia 2008-05-13 11:30:13
HKEY hKey;

RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("System\\StorageManager\\Profiles\\TRUEFFS_DOC1"),0,KEY_ALL_ACCESS,&hKey);
char szPath[80];
// LPBYTE szPath=new BYTE[80];
DWORD type=REG_SZ;
DWORD len=80;
RegQueryValueEx(hKey,_T("Folder"),NULL,&type,(unsigned char *)szPath,&len);
// RegQueryValueEx(hKey,_T("Folder"),NULL,&type,szPath,&len);
RegCloseKey(hKey);
sprintf(szPath,"%d",strlen(szPath));
WCHAR szWideProgID[400];
long lLen = MultiByteToWideChar(CP_ACP,0,szPath,strlen(szPath),szWideProgID,sizeof(szWideProgID));
szWideProgID[lLen] = '\0';
MessageBox(0,szWideProgID,szWideProgID,MB_YESNO);

大家看到了注释的是我用另一种方法测试的,结果都一样
总是显示为1,把上面调试过程去掉的话,能显示E 就是正确的值的第一个字符
...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
小李匪盗 2008-05-16
  • 打赏
  • 举报
回复
TCHAR szPath[80];
DWORD type;
DWORD len=80*sizeof(TCHAR);
RegQueryValueEx(hKey,_T("Folder"),NULL,&type,(LPBYTE)szPath,&len);
文斌 2008-05-14
  • 打赏
  • 举报
回复
用WCHAR吧,应该是UNICODE编码的
alonepb 2008-05-14
  • 打赏
  • 举报
回复
关注下,暂时还没研究过
qingxia 2008-05-14
  • 打赏
  • 举报
回复
char szPath[80];
DWORD len=sizeof(szPath);
RegQueryValueEx(hKey,_T("Folder"),NULL,&type, (byte *)szPath,&len);
今天晚上回去试试这样的写法
qingxia 2008-05-14
  • 打赏
  • 举报
回复
该怎么用wchar呢?
csting 该包含哪个头呢?

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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