寻找一个API(100分)

  • 主题发起人 主题发起人 pjx1017
  • 开始时间 开始时间
P

pjx1017

Unregistered / Unconfirmed
GUEST, unregistred user!
1、我想在windows启动之前对让用户输入口令才能进入, 有哪个API能实现吗? 如windows本身<br>的用户口令。<br>2、如果1不行, 我就让我的程序在注册表中自动运行并隐藏进程,显示一个用户登录窗口。<br>在登录之前,其他程序不能运行(包括windows本身)。<br>我有用到enablewindow,可是它怎样控制windows操作系统本身的handle呢?<br><br><br><br><br>
 
98系统?<br>好象修改注册表可以实现.
 
to li_cj:<br>&nbsp; enablewindow这个API是否能让windows不接受键盘与鼠标呢?<br>如果能怎样做?
 
难办吧,98下面再怎么控制,别人也是有办法进去的。
 
winNt,2k,XP与98的解决方法是不同的,看你的问题,应该是win98,win98在启动时,在注册表中的HCM/Microsoft/windows/current../run里面,启动的是explorer.exe,在注册表删除掉该项,用你自己的程序替换,然后,你就可在你自己的程序里面判断,如果是正确用户在重新调用explorer.exe,进入win桌面.<br>问题是,如果人家选择"安全模式",就不起作用了!<br><br>让windows不接受键盘与鼠标,如果是开机时,可用:<br>EnableWindow(GetDesktopWindow,false);<br>EnableWindow(GetDesktopWindow,ture);<br><br>
 
to Aiirii:<br>&nbsp; 先给你记上30分了,我听说还有一种方法是隐藏桌面和开始按钮不知怎么做。因为我做的<br>是登录界面。 <br>&nbsp; &nbsp; 另外你说的"windows安全模式"有什么防止方法吗?<br><br>
 
使windows 9X登录时"取消"按钮失效(防止匿名用户登录)<br><br>虽然Win9X可以为每个用户定制各自的使用界面并指定口令,但任何人都能通过点击登录窗口中的<br>"取消"或按ESC键进入系统,即所谓匿名登录。<br>下述方法可以防止匿名用户登录::<br>依次展开HKEY_LOCAL_MACHINE/Network/Logon主键,如没有则创建一个;<br>用编辑|新建|DWORD(值),名为"MustBeValidated",键值全部添为1;<br>再重新启动机器后,你会发现通过点击Cancel按钮进Windows的办法已经不灵了。<br>(如果自己都进不去了,可以以安全模式进入,然后将其值改为0。)<br>没有在保护模式测试过;——(
 
大伙再帮我想想,谢了!<br>
 
想办法在执行登录前先运行你的相关登录程序也可以限制用户的。比如,楼上的网友修改注册表一法就是可行的。<br>如果你想用程序实现的话,可以查询注册表相关信息,如何实现先运行自己设定的程序后,才执行WINDOWS用户登录。<br>我只是个人想法,并没有自己试过。好像看到OFFICE安装程序是可以在用户登录前进行相关安装信息的设置的。具体<br>用什么API函数待网友们共同讨论吧。我同时也会关注此贴内容的!
 
office安装程序的那个是在runonce里设置的,但是一旦启动过后,windows会自动删掉.<br>要么你启动后再添加?没试过.
 
Win2000给用户留了进行登录控制的接口,允许用户程序自己实现登录安全控制<br>关键是要实现一个动态连接库, 你可以找以前的帖子看一下,关于屏蔽Ctrl+Alt+Delete<br>方面的问题
 
谢谢各位,问题解决了。<br>方法如下:<br>1、在程序中写注册表屏蔽F2,F4,F8等功能键(防安全模式启动)<br>2、写注册表使程序自启动<br>3、屏蔽任务栏与桌面(使用handle1:=findwindow('progman',nil);<br>&nbsp; enablewindow(handle1,false);<br>&nbsp; handle2:=findwindow('shell_traywnd',nil);<br>&nbsp; enablewindow(handle2,false);<br>4、屏蔽ctrl+del+alt,ctrl+esc等(SystemParametersInfo(SPI_SCREENSAVErRUNNING,1,@temp,0);<br>5、谢谢各位的关注,希望这些对你们也有用。
 
多人接受答案了。
 
后退
顶部