寻求思路:关键字【TSR,系统重启,Win98,MSDOS,实模式,保护模式】 (100分)

  • 主题发起人 cornermoss
  • 开始时间
C

cornermoss

Unregistered / Unconfirmed
GUEST, unregistred user!
我想要实现下面的功能,请各位大虾指点一下思路啊:
编制一个TSR驻留程序A,放到Win98的autoexec.bat中,如果Win98正常启动后则会启动程序B。
B运行后会发送UDP消息给服务器端的程序C,通知C说自己(该Win98)已经正常启动,并卸载A。
如果A隔了一段时间后没有发现B在运行,则说明Win98启动失败,此时就应该进行重启动该
Win98系统。
现在B和C都已经做好了,是用的Delphi。我想请问,这个TSR驻留程序A,该用C还是汇编呢?
而且,如果系统存在驻留程序的时候,Win.com能够正常运行吗?
 
在window已經沒有TSR驻留程序這個概念了吧
直接做一個後台運行的程序不就行了嗎
用delphi也可以
 
恩,我想实现的是使用程序A自动控制Win98(在启动失败的时候)的重启动。
比如有这个情况,如果Win98注册表错误并需要恢复的时候,系统会蓝屏并提示说需要重启动以恢复注册表,此时用户按回车也就可以重启动的;但是如果用户不在电脑前,我想通过
我的这个TSR程序进行重启动电脑。
 
a不可能卸载的。另外,a如何发现b运行?你要知道,a是real mode
而b就是prot mode了,要实现通讯很难的!弄不好就是系统崩溃
 
可以这样啊,b运行后建一个临时文件,a判断是否存在这个文件就可以的.
我不知道,如果运行了实模式的驻留程序A,win98能不能正常启动啊? 我记得如果退出win98切换到Dos后,加载了鼠标驱动的话,再用win.com进保护模式,系统就会自动重启的
 
啊,抱歉,玩电脑玩傻了。
win允许有驻留程序的。不过你的方法不对。
要知道,所谓的退出win98切换到Dos”实际是在内存里留了一块程序,开了个
dos shell,这样,exit时就会由程序启动win98。而你却又驻留了程序,这样,启动
win.com时,造成mcb链错误。为了系统稳定性,98就reboot了。
正确的做法还是你说的,autoexec
 
我在autoexec.bat加载了一个驻留程序,进入Win98后提示说有MsDos的格式的程序在运行。
使用mem /c/p可以看到该驻留程序,但是使用热键不能呼叫出它(是不是就是说该程序根本
就已经失效了?)使用“退回MsDos方式”后,再使用Exit命令能够正常返回Win98,而且此
时使用 mem /c/p,仍然能看到该驻留程序,但是也仍然不能呼叫出它来~
请问,是不是在Win98环境里,这个DOS的驻留程序无法从WIN98手上拿到任何CPU时间呢?
 
根本不是这样的。
就你说的情况,***********tsr和98是同等地位。************
无法active可能是tsr要显示什么东西。
以前有个lxd(dos下的虚拟磁盘)就可以active,不过它被设计成不显示任何东西的。
 
我从网上下载了一个TSR程序(含源代码的),可以按alt+. 弹出一个界面,显示当前时间的 http://www.coolsee.com/moss/tsr.zip
我在Win98里测试的,如果是用鼠标双击运行的话,则弹不出来;如果是在cmd环境里运行
的,就能用alt+.弹出界面,但是关闭cmd后就弹不出了。这样的话,是不是说明TSR不能
运行在Win98环境里呢?
 
http://missdeer.topcities.com/os/windows/1.htm
=======================
INT 2FH是Win3.x和DOS集成系统的一个接口。
当Windows启动或是退出时,它发出四个INT 2FH广播,称为启动,启动完成,开始退出,退出。在windows之前装入的DOS设备驱动程序和TSR能挂接2FH接收windows启动和退出通知。
INT 2FH并未成为Win API的一部分,它仅仅对windows之前装入的软件即DOS软件有用。
=======================
INT 2FH对Win98有用的吗?如果我的TSR可以接收到“启动完成”的通知,其实那我也就不用
再判断我的程序B是否在运行了哈~
 
那么你就试试啊
 
多人接受答案了。
 
顶部