如何让程序在进入安全模式也可以自动执行,并且自动关机?(100分)

  • 主题发起人 主题发起人 gouer
  • 开始时间 开始时间
G

gouer

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序是加入在注册表的run下的,我希望系统启动后自动执行它,可是当系统进入
安全模式我就没有办法了,我现在希望程序在进入安全模式就关闭从新启动,该怎么办?
很麻烦的是,在进入了安全模式后还有一个MessageBox,如果不点确定,系统就停在那里,如何解决我的要求呢?
 
难道没有人会?
 
安全模式的特点就是不加载任何多余的驱动和程序,
以避免不稳定!
你只能改win的启动设置文件了,这绝对是秘密,所以,难罗!
 
To gouer,
Microsoft肯定知道的,
但是为什么要让他进入Safe mode呢,可以修改Msdos.sys让
他每次都进入正常模式啊!奇怪?
 
试试修改WIN.INI SYSTERM.INI文件
 
weicong,可以告诉我具体如何做吗?这对我现在的程序很重要,拜托了
张无忌,告诉我该怎么做。多谢大家帮忙
 
Win95/98的msdos.sys参数设置一览表
作者:flyings 2000-05-09这篇稿件被阅读次


 
   在windows 95/98的根目录下有一个文件msdos.sys,它决定了windows 95/98的启动菜单、
加载程序等,因此很有必要好好研究一下它的主要内容。
   用记事本打开msdos.sys,可以看到它一般由以下参数构成:
  [Paths]
  HostWinBootDrv=C 指定windows的启动盘,一般为C盘
  UninstallDir=C 指定windows95/98的卸载备份
   文件所在盘
  WinBootDir=C:/windows 指定windows的相关文件所在目录
  WinDir=C:/windows 指定windows的系统文件所在目录
  [Option]
  AutoScan= 0 - 不执行scandisk程序
   1 - 执行scandisk前先询问
   2 - 自动执行scandisk,在遇到损坏时
   先询问
  BootDelay=nnn 设置在开机出现“Starting Windows”
   信息时,显示nnn秒
====================================================================
  BootSafe= 1 - 强迫进入安全模式
   0 - 不进入安全模式
=================================================================
  BootGUI= 1 - 开机后进入图形界面
   0 - 开机后进入DOS界面
  BootKeys= 1 - 开机时可使用功能键
   0 - 开机时不能使用功能键
  BootMenu= 1 - 开机后显示菜单
   0 - 开机后不显示菜单
  BootMenuDefault= 指定开机后的选择菜单的缺省当
   前项
  BootMenuDefault=nnn 设置开机后的菜单显示nnn秒
  BootMulti= 1 - 可以选择进入DOS 6.22或更早的版
   本
   0 - 不能进入DOS6.22或更早版本
  BootWarn= 1 - 关闭进入安全模式时的警告信息
   0 - 不关闭进入安全模式时的警告信息
  DoubleBuffer= 1 - 开启SCSI接口的DoubleBuffer
   0 - 关闭
  DBLSpace= 1 - 开机时自动加载dblspace.bin
   0 - 不加载
  DRVSpace= 1 - 开机时自动加载drvspace.bin
   0 - 不加载
  LoopTop= 1 - 将command.com、dblspace.bin或
   drvspce.bin加载到640K中较高的
   内存地址
   0 - 不加载到较高的内存地址
  Logo= 1 - 显示蓝天白云的开机画面
   0 - 不显示开机画面
  BootWin= 1 - 设置windows系统为默认的系统
   0 - 不设置windows系统为默认的系统
  NetWork= 1 - 开机时可连接到网络,选择菜单中
   将出现
   Safe mode with network support
   0 - 不连接到网络
 
修改win.ini, system.ini或msdos.sys(参考weicong)
让後在程序运行的时候监测windows的运行模式, 如下:
procedure TForm1.Button1Click(Sender: TObject);
var
Running_Mode:integer;
begin
Running_Mode:=GetSystemMetrics(SM_CLEANBOOT);
case Running_Mode of
0: label1.caption:='Normal boot';
1: label1.caption:='Fail-Safe boot';
2: label1.caption:='Fail-safe with network boot';
end;
end;
然后根据运行模式再进行下一步
 
我修改了msdo.sys
可是没有用啊,不知道大家有没有成功的方法阿???
 
自己编个 Windows Shell 或许能用 *_^
 
难啦,很难有办法
 
runservice 可以马?好久不用98了,都快忘了 :-(
 
你编一个程序,替换掉WINDOWS的KERNAL32.DLL不就行了吗?
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部