急求一个系统底层登陆(windows操作系统前下登陆)问题(50分)

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

cf83325

Unregistered / Unconfirmed
GUEST, unregistred user!
我最近在做一套机房管理系统.我客户端做一个系统低层登陆的界面.就是在进系统前的登陆界面(窗体).热心的朋友给出提示.最好是有个几行代码~~~~~~整个软件就只这个功能了.对了要考虑进安全模式的情况.
 
在系统主单元中(就是Program单元中)这样写:<br>program Project1<br>uses<br> &nbsp;Forms,<br> &nbsp;fMain in 'fMain.pas' {fmMain};<br>{$R *.res}<br><br>begin<br> &nbsp;Application.Initialize;<br> &nbsp;Application.ShowMainForm := False; //不显示系统主窗体<br> &nbsp;Application.CreateForm(TfmMain, fmMain);<br> &nbsp;Application.Run;<br>end.<br>然后在系统的主窗体的OnCreate事件中创建登陆窗体并显示;<br>当登陆成功后关闭登陆窗体并将Application.ShowMainForm设置为True,并显示系统主窗体即可。
 
楼上的说的不错,<br>也可在主窗体的OnCreate事件中创建登陆窗体并显示,但这时要用ShowModal显示,不可以用Show显示
 
晕!我说的不是这个,你说的那个是个人都知道怎么做.我说的是低层登陆(在dos下登陆).这里的系统不是主窗体.是操作系统(不是主窗体).
 
program TestPro;<br><br>uses<br> &nbsp;Forms,<br> &nbsp;Main in 'Main.pas' {MainForm},<br> &nbsp;Logon in 'Logon.pas' {LogonForm};<br><br>{$R *.res}<br><br>begin<br> &nbsp;Application.Initialize;<br> &nbsp;Application.CreateForm(TMainForm, MainForm);<br> &nbsp;Application.CreateForm(TLogonForm, LogonForm);<br> &nbsp;if LogonForm.ShowModal = 1 then<br> &nbsp;begin<br> &nbsp; &nbsp;//LogonForm.Free;<br> &nbsp; &nbsp;Application.Run;<br> &nbsp;end;<br>end.
 
那我说个思路,不过不是在DOS下的,也是在登陆Windows系统前的。<br>用自己的系统登陆程序取代Windows的Explore.exe,并将该程序注册为Windows服务即可。
 
我晕了~~~大家搞清楚什么叫低层登陆,在发表高论好不好,OK?
 
你说的这个方法我想过.但是还有问题,别人可以进安全模式一样可以进系统!
 
注册为Windows服务程序应该是可以的(不过我没有试过,你可以试试看...),如果还是不行的话就用最后一招将你的程序做成Vxd肯定是可以解决你的问题的。祝好运!<br>另外,我还想说几句。你的自我描述中说是个新手,我不知是否属实。若你真的是个新手,那么你的学习能力应该还不错,但是也不应该太狂妄。即使我们开始会错了你的意,也不应该说“是个人都会”之类的话,请记住敛于心方可敏于行...
 
这个实现上有困难哦,2000后NT内核系统是完全没DOS这个概念的
 
好的试试看.后来者有更好的方法.也积极给点建议
 
Johnny_du,你的办法也不行的,安全模式下,大部分服务依旧不会被启用;VxD,抱歉,和DOS一起从2000后的系统消亡了
 
呵呵:)那楼上发表一下高论?
 
来人啊~~~
 
楼主的系统是什么?98还是2000后的系统?
 
忘了告诉你本人学delphi半年,c++<br>2年
 
xp的系统,进系统前的登陆(xp下没有dos,这里说的有些失误)
 
到底有没有人知道~~~~~~~
 
本人学半年delphi,问题就没有回答.我再学半年,那不大富翁论坛就会跨掉.哎呀~!!!还是问题太简单不屑一顾~~~
 
只需要自己编写动态连接库mygina.dll代替微软的msgina.dll就可以了。<br><br>1. 实现原理<br>在NT/2000中交互式的登陆支持是由WinLogon调用GINA &nbsp;DLL实现的,GINA_DLL提供了一个交互式的界面为用户登陆提供认证请求。在WinLogon初始化时,也就是计算机启动时,就向系统注册截获CTRL+ALT+DEL消息,所以其他程序就无法得到CTRL+ALT+DEL的消息。WinLogon会和GINA_DLL进行交互,缺省是MSGINA.DLL(在System32目录下)。微软同时也为我们提供的接口,自己可以编GINA _DLL来代替MSGINA.DLL。<br><br>2.操作步骤<br>1) 主机控制与审计系统要在Windows登录之前,就只能利用GINA技术,自己编写DLL(mygina.dll),放入system32文件夹中。<br>2) 在注册表“/HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Winlogon”项下加入名为“GinaDLL”字符串值,类型为“RegSZ”默认,值为“mygina.dll”,使得系统在登录时先调用mygina.dll(默认为MSGINA.dll),这样就可以在“登录”和“注销”时先进行认证了。<br><br>3.通过GINA实现,还可以在“锁定计算机”的情况下出现认证界面。将“我的登录”这段程序代码放在“WlxDisplayLockedNotice函数”内。
 
后退
顶部