现在,VB6编写的程序在 Windows XPSP3 下碰到下面2个奇怪的问题:
一是必须用兼容Windows2000的模式才能正常运行;
二是在单核处理器上用我博客里面的程序(http://blog.csdn.net/chenjl1031/article/details/6320254)获取的Windows版本有点怪异,用Windows2000兼容模式运行,获取的Windows版本就是2000的版本,用Windows98兼容模式运行,获取的Windows版本就是98的版本!!
在多核处理器上没有这个问题,在Windwos Vista和Windows 7 下没有这些问题。
请遇到此类问题的朋友谈谈什么原因,怎么解决的。谢谢!

解决方案 »

  1.   

    我觉得windowws版本号与处理器没有关系。
    应该是vb6与xp sp3的兼容性问题。
      

  2.   

    WinXP Sp3 双核,可以正常运行你的程序。
    检查一下防毒软件的设置。
      

  3.   


    我试过,跟杀毒软件没有任何关系。新电脑,新硬盘,刚装了WinXP Sp3,什么杀毒软件都没有装,也必须兼容Windows2000的模式才能运行。我的问题表达有点误,重新表达一下:
    1、不管是否多核处理器都要用兼容Windwos2000的模式才能运行。 
    2、在单核处理器上用我博客里面的程序(http://blog.csdn.net/chenjl1031/article/details/6320254)获取的Windows版本有点怪异,用Windows2000兼容模式运行,获取的Windows版本就是2000的版本,用Windows98兼容模式运行,获取的Windows版本就是98的版本。但是,在多核处理器上获取的Windows版本是正确的。
    以上2个问题,在WindwosVista和Windows7下没有任何问题。
      

  4.   

    看样子,只有从 获取的Windows版本的dll入手了⋯⋯
    确认出现异常的那个的版本号,然后换其它版本的试试
    这方面记得有人擅长
      

  5.   

    我XP SP2写的VB6程序在XP SP3是能够运行的.WIN7也可以运行.是不是有什么防火墙设置呀?
      

  6.   

    最初,我是怀疑自己的程序有问题,没找到原因。后来,随便找了几个我以前的VB6程序,结果果然如此,exe都必须用兼容Windows2000的模式才能运行,这几程序都是要读、写文件的。所以,我怀疑是XPSP3作了什么手脚,XPSP3安装了微软的Windows Defender反木马、反间谍软体,以前的XPSP1是没有这个东东的。
      

  7.   

    仅供参考
    http://www.codeproject.com/Articles/73000/Getting-Operating-System-Version-Info-Even-for-Win
      

  8.   

    貌似win7(vista) 对原来NT系列的API做了转发包装,有兼容模式的跳转表,加了些新API,估计问题在这里。
      

  9.   

    XP 上运行 VB 程序从来不需要兼容模式,你的系统是改造版吧,找个 MSDN 原版的 XP 安装。
      

  10.   

    不是改造版!是买的正版 Windows XPSP3。
      

  11.   

    奇怪的是,我办公室电脑、家里面电脑一样,都要用兼容Windows2000模式运行。真要认人啊?
      

  12.   

    2008-05-06 出 WinXP 的 Sp3
    2008-06-30 就停止销售 WinXP 了
    你哪里买的正版 Windows XPSP3?
      

  13.   

    我写的vb6程序在正版sp3下运行很正常。
      

  14.   

    你应该找一个手提电脑测试看看,通常的手提电脑都会配备 OEM 版本的操作系统,XP 这东西从出来到现在,我都不常用(心想既然用D版的,也用个高级点的,呵呵,所以我惯用2K3,正版的价格那可是天差地别呀,呵呵),不过这段时间装了一次 XP SP3(为了我一台 ARM 的驱动问题),据说是网上不错的一个洁净版,用了一下,发现很多问题。比如用 IE 访问某个网站的时候,我查看网站代码,发现和 Goole Chrome 得到的内容不一致,少了些代码同时又多了些代码,后来想用 XMLHTTP 下一个来看看到底哪个浏览器出问题,结果 XMLHTTP 得到的和 IE 的没区别,不死心,就用以前自己写的 SOCKHTTP 类来读,结果发现 Goole Chrome 的才是真正的原始代码。说明 IE 里有过滤代码的处理,但这种情况在 2K3 中的 IE 却没有(2K3 SP2 都没遇到过),后来装了一个很久以前的纯D版 XP HOME 来测试(SP1 都没有的,完全洁净,过期就需要激活那种),结果也没有这样的问题。不过就你说的 VB 的问题,我在我的 XP SP3 中没有发现,都能正常使用。
    不过说到 Windows 的兼容性、稳定性这种东西,可以说是同类产品中很烂的玩意,不过因为很多地方确实又离不开它,也就只有忍受。相对来说,2K Server、2K3 算是 Windows 中比较不错的系统,2K8 虽然也很好,不过兼容性还是差了点,很多程序运行也有问题。个人建议用 2K3 的系统,对比来说,XP 就像个塑料小玩具,2K3 就像个大点的铁皮玩具,体积不同,质量不容,而且面向的对象也是技术层面的人,相对来说会好很多,但对于游戏玩家就难说,因为很多硬件的驱动不提供 2K3 的驱动,虽然 2K3 兼容 2K 的 驱动,但有时候也会很麻烦。
      

  15.   

    不是说预装系统不好,而是厂商往往要夹带一点自己的货色。
    个人使用,应该将注册信息备份下来,然后毫不犹豫重装。建议 Google: Windows XP SP3 MSDN 原版 ISO
    注意对比多个搜索结果,将比较可信的 MD5 即下来,下载后验证一下。