死神一护打友哈巴赫:关于VC程序

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 20:12:41
由于工作需要,最近做了一个检查注册表信息的VC程序
release版本在XP,2000,2003上全都正常
但跑到98和ME上却出现异常
直接暴了,ME上直接报MFC42.dll错误,但我把xp的这个dll考过去还是不行
然后添加了屏幕输出语句,想调试问题出在哪里,奇迹在这时候发生了,结果同样的release只是加了句printf居然运行正常了....
有知道原因的吗??
对了,问题是出在
LONG lRet;
lRet = RegOpenKeyEx(hRoot, lpSubKey, 0, KEY_QUERY_VALUE, &hKey);
当调用这句的时候就暴了,但在这句前加一句
printf("%s\n", "1");
运行就正常了
98和ME一样,只要有输出语句,不管是cerr,cout,还是printf都运行正常
补充一句,RegOpenKeyEx在程序里,这里是第二次使用,第一次的时候正常通过

我自己以为可能是98和ME对其不兼容吧!
都有是微软的东西,98和ME版本可能对VC不是太好的兼容,在98和ME版本开发也来时,可能才有C,没有VC.
因为VC的好多东西与系统关联,,后来发展VC好多的东西,98和ME版本不能承认吧.需要一点说明才可以运行吧

7月1日 16:19 Visual Studio 6.0 中文企业版
http://soft.stormzone.cn/SoftView/SoftView_105.html

http://soft.stormzone.cn/@ScriptRead/SoftDown.asp?ID=376