程序中有只用于2000的函数,在98下不能运行。如何解决?

Rigel 2002-10-30 04:17:05
我的程序中有的函数是2000才有的。编译好后在98下就运行不了,我想是关于预编译的问题吧,用_WIN32_WINNT > 0x0500结果在2000下也不能用了。不知道该如何解决。
...全文
48 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rigel 2002-11-01
  • 打赏
  • 举报
回复
呵呵,感谢这么多人帮我解决问题。
问题刚刚解决,所以结帖晚了点,谢谢各位了。
林水福 2002-10-31
  • 打赏
  • 举报
回复
叹!
wj59 2002-10-31
  • 打赏
  • 举报
回复
可怜,重写此函数吧……
alphapiao 2002-10-31
  • 打赏
  • 举报
回复
Zark 2002-10-31
  • 打赏
  • 举报
回复
W2K的版本比W98高,而且一个是WINDOWS系列,一个是NT系列.两者间有许多的不同.所以楼主的问题理论上来说是解决不了的.

正如楼上所说,有些东东是NT下才有的,W98中就是用GetProcAddress()也解决不了.但事情都有个万一,楼主不妨说说哪是个什么函数,或许在W98中也可能有个类似的. 想通过设版本号来解决这个问题怕是不行.

如果是在W98运行正常,W2K不行,那么通过版本号呀,或是GetProcAddress()倒不失为一种办法.
Semigod 2002-10-30
  • 打赏
  • 举报
回复
这个问题没有什么好的办法的,关键要看你用的函数是什么样的,有些东西是需要系统服务的,系统没提供服务,想调用也不行啊。
Rigel 2002-10-30
  • 打赏
  • 举报
回复
试试看,希望可以。
kingcom 2002-10-30
  • 打赏
  • 举报
回复
同意afc...

将那些_WIN32_WINNT之类的宏定义为win98的...
然后在98下不能用的API函数会编译通不过...
把这些API函数改为LoadLibrary,GetProcAddress方式调用




Minimum System Required Macros to Define
Windows 95 and
Windows NT 4.0 WINVER=0x0400
Windows 98 and
Windows NT 4.0 _WIN32_WINDOWS=0x0410 and WINVER=0x0400
Windows NT 4.0 _WIN32_WINNT=0x0400 and WINVER=0x0400
Windows 98 _WIN32_WINDOWS=0x0410
Windows 2000 _WIN32_WINNT=0x0500 and WINVER=0x0500
Windows Me _WIN32_WINDOWS=0x0490
Windows XP and
Windows .NET Server _WIN32_WINNT=0x0501 and WINVER=0x0501
Internet Explorer 3.0, 3.01, 3.02 _WIN32_IE=0x0300
Internet Explorer 4.0 _WIN32_IE=0x0400
Internet Explorer 4.01 _WIN32_IE=0x0401
Internet Explorer 5.0, 5.0a, 5.0b _WIN32_IE=0x0500
Internet Explorer 5.01, 5.5 _WIN32_IE=0x0501
Internet Explorer 6.0 _WIN32_IE=0x0560 or
_WIN32_IE=0x0600
Rigel 2002-10-30
  • 打赏
  • 举报
回复
不是,不是,
可能是我没说清楚,我是有个2000下可以用但98下不能用的函数在我的程序里,结果这个程序在98下运行就出错(还没运行到这个函数,根本就启动不了)。我是要解决这个问题。
rivershan 2002-10-30
  • 打赏
  • 举报
回复
不太懂~
预编译头文件可以取消吧~
afc 2002-10-30
  • 打赏
  • 举报
回复
98下不能用的函数用动态载入LoadLibrary,GetProcAddress方式调用

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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