| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1071 人关注过本帖
标题:[求助]写注册表出了问题
只看楼主 加入收藏
圆圆的鸟蛋
Rank: 1
等 级:新手上路
帖 子:216
专家分:0
注 册:2007-4-22
收藏
 问题点数:0 回复次数:13 
[求助]写注册表出了问题

……
CString AppPath ;
GetModuleFileName(NULL, (char *)(LPCTSTR)AppPath, MAX_PATH) ;
int len = AppPath.GetLength() ;

int IsSetValue ;
IsSetValue = RegSetValueEx(hKey, "clock", 0, REG_SZ, (CONST BYTE *)&AppPath, len) ;
……
运行后,在指定的键下多了一个名为“clock”值,但它的值并不是当前模块的路径,而是空值。。小弟百思不得其解啊!大家帮帮忙啊!!!谢谢各位了!

搜索更多相关主题的帖子: 注册表 
2007-08-02 00:52
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

RegSetValueEx(hKey, "clock", 0, REG_SZ, (CONST BYTE *)AppPath.GetBuffer(len),len);

[此贴子已经被作者于2007-8-2 12:28:26编辑过]


天行健,君子以自强不息!!QQ:68660681
2007-08-02 12:27
圆圆的鸟蛋
Rank: 1
等 级:新手上路
帖 子:216
专家分:0
注 册:2007-4-22
收藏
得分:0 
为什么要用GetBuffer呢??

鸟蛋开始孵化。。。我等待那一天Forever。。
2007-08-02 12:56
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
CString是一个类,而你要传进去的是字符串的地址,并不是这个类的地址

天行健,君子以自强不息!!QQ:68660681
2007-08-02 13:12
圆圆的鸟蛋
Rank: 1
等 级:新手上路
帖 子:216
专家分:0
注 册:2007-4-22
收藏
得分:0 
改了,但还是存在同样的问题啊

鸟蛋开始孵化。。。我等待那一天Forever。。
2007-08-02 13:23
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

什么问题?


天行健,君子以自强不息!!QQ:68660681
2007-08-02 14:10
圆圆的鸟蛋
Rank: 1
等 级:新手上路
帖 子:216
专家分:0
注 册:2007-4-22
收藏
得分:0 
clock的植还是空的。

鸟蛋开始孵化。。。我等待那一天Forever。。
2007-08-02 18:21
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
那你先看看AppPath是不是空的,我在实验室试了一下是可以的

天行健,君子以自强不息!!QQ:68660681
2007-08-02 18:26
圆圆的鸟蛋
Rank: 1
等 级:新手上路
帖 子:216
专家分:0
注 册:2007-4-22
收藏
得分:0 
用MessageBox测试,AppPath不是空的(是正确路径),但在注册表中却是空。

鸟蛋开始孵化。。。我等待那一天Forever。。
2007-08-02 23:56
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

嗯 如果那个函数的返回值是ERROR_SUCCESS的话,那只有一个原因:值太长,没有显示出来
你在后面加上这样一段代码,如果弹出的对话框显示正常,那就证明确实是没有显示

char result[100];
memset(result,0,100);
char name[]="clock";
unsigned long nameLen = 6;
unsigned long length = AppPath.GetLength();
unsigned long type = REG_SZ;

RegEnumValue(hKey,0,name,&nameLen,0,&type,(LPBYTE)result,&length);

MessageBox((CString)result);



天行健,君子以自强不息!!QQ:68660681
2007-08-03 00:36
快速回复:[求助]写注册表出了问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057120 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved