DOS程序中,如何判断WINDOWS是否正在运行,如何得到WINDOWS的版本(NT还是9X)?

Mr_Ldh 2002-01-19 11:11:11
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhakewei 2002-01-25
  • 打赏
  • 举报
回复
Platform sdk :/ dword GetVersion(void); = return;
loword(return) = a;
hiword(return) = b;
if ( a== 4 || b ==1 )
windows9x
b=0 , a=3,4,or 5;
windows nt/200
neptune_hay 2002-01-25
  • 打赏
  • 举报
回复
使用 mov ah,30h
int 21h
来获取dos版本号(注意返回值ah,al分别代表什么)
Mr_Ldh 2002-01-25
  • 打赏
  • 举报
回复
我说的是实模式的DOS程序,在WINDOWS 9X的DOS窗口下可以很好的运行,但在NT/2000的DOS窗口下不能正常运行。我想在程序中检测出来,如果是在NT/2000的DOS下,给出一个提示。
fury 2002-01-24
  • 打赏
  • 举报
回复
to Mr_Ldh:
那我也不会了,我是很菜的菜鸟啊,我的2000删掉了,没法测试..
我以为你的意思是检查是不是在实模式的DOS下,而nt/2000好象不能退到实模式下吧.
不知道你的意思是不是说console mode的程序,如果是的话可以调用API查询呀?

我的水平很低,请多指教.
Mr_Ldh 2002-01-23
  • 打赏
  • 举报
回复
Mr_Ldh 2002-01-22
  • 打赏
  • 举报
回复
to fury: 那样只能检测window 9X,NT、2000、XP下不行。
Mr_Ldh 2002-01-20
  • 打赏
  • 举报
回复
能用程序实现吗?
wgku 2002-01-20
  • 打赏
  • 举报
回复
如果用C/C++的话可以用system(".....")函数来执行DOS命令
fury 2002-01-20
  • 打赏
  • 举报
回复
mov ax,1600 ;AL is other:AX=Windows version
int 2f ;AL=0/80,Real DOS
;AL=1/ffh,Old Windows 386 is running
wgku 2002-01-19
  • 打赏
  • 举报
回复
ver > myver.txt
然后用程序打开它就可了:)作为你的软件输入:)

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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