为什么VC6.0的Release 和Debug两个版本的执行结果不一样???

Alan_Pike_Chen 2001-12-28 01:45:16
BOOL GetComputName()
{
HKEY hKey;
DWORD dwType, dwSize;

if(RegOpenKeyEx (HKEY_LOCAL_MACHINE,"System\\currentControlSet\\Control",0,Code1_KEY_ALL_ACCESS,&hKey) == ERROR_SUCCESS)
{
if(RegQueryValueEx (hKey, "Current User", 0, &dwType, (LPBYTE)&Global.szComputerName, &dwSize) != ERROR_SUCCESS)
{
MessageBox(NULL, "Can't find Current User!", "NG", 0);
return FALSE;
}
}
else
{
MessageBox(NULL, "Can't open REG", "NG", 0);
RegCloseKey(hKey);
}
return TRUE;
}Release :可以的到用户名,
Debug:不能得到用户名


请各位高手帮忙解决。谢谢!
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnss 2001-12-28
  • 打赏
  • 举报
回复
这不是给上了吗:)
Alan_Pike_Chen 2001-12-28
  • 打赏
  • 举报
回复
OK! 我不会给分喔,教我怎样给分好吗!
cnss 2001-12-28
  • 打赏
  • 举报
回复
RegQueryValueEx (hKey, "Current User", 0, &dwType, (LPBYTE)&Global.szComputerName, &dwSize)

最后一个参数指定缓冲的大小,DEBUG版把它置0,当然就不行啦
把dwSize初始化为Global.szComputerName的大小试试?
Alan_Pike_Chen 2001-12-28
  • 打赏
  • 举报
回复
To cnss():刚刚试了一次,还是显示“Can't find Current User”
cnss 2001-12-28
  • 打赏
  • 举报
回复
DWORD dwType, dwSize;
debug版自动把它们置0
release版不管变量的初始化

你初始化一下应该就可以了

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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