老话重谈,到底有没有人实现2000下屏蔽Ctrl+Alt+Del键,如何实现?(100分)

  • 主题发起人 主题发起人 doolii
  • 开始时间 开始时间
D

doolii

Unregistered / Unconfirmed
GUEST, unregistred user!
老话重谈,到底有没有人实现2000下屏蔽Ctrl+Alt+Del键,如何实现?
 
c的源码我有,delphi的没改过来。<br>我用了另外一个方法,不停查找taskmgr.exe,有的话将此进程关掉,这样别人也同样用不了CTRL+ALT+DEL。
 
procedure StopTaskmgr;<br>var<br>&nbsp; p: pProcessInfo;<br>&nbsp; ContinueLoop: BOOL;<br>&nbsp; FSnapshotHandle, hProcess: THandle;<br>&nbsp; FProcessEntry32: TProcessEntry32;<br>&nbsp; n: integer;<br>begin<br>&nbsp; n:=1;<br>&nbsp; New(p);<br>&nbsp; FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);<br>&nbsp; FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);<br>&nbsp; ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);<br>&nbsp; while integer(ContinueLoop)&lt;&gt;0 do<br>&nbsp; begin<br>&nbsp; &nbsp; p.ExeFile:= FProcessEntry32.szExeFile;<br>&nbsp; &nbsp; inc(n);<br>&nbsp; &nbsp; if UpperCase(p.ExeFile)='TASKMGR.EXE' then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; hProcess := OpenProcess(PROCESS_ALL_ACCESS, FALSE,FProcessEntry32.th32ProcessID);<br>&nbsp; &nbsp; &nbsp; TerminateProcess(hProcess,0);<br>&nbsp; &nbsp; end;<br>&nbsp; &nbsp; ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);<br>&nbsp; end;<br>end;
 
在timer的事件中调用stopTaskmgr即可。
 
to geluyx:<br>老大,需要引用哪个单元,提示没有声明pProcessInfo
 
to geluyx:<br>这个不行老大,只是不能打开任务管理器而已,按Ctrl+Alt+Del键还是能打开那个窗口
 
还是用GINA吧
 
定义一下:<br>type &nbsp;TProcessInfo = Record<br>&nbsp; &nbsp; ExeFile &nbsp; &nbsp;: String;<br>&nbsp; &nbsp; &nbsp;ProcessID &nbsp;: DWORD;<br>&nbsp; &nbsp; &nbsp; end;<br>&nbsp; pProcessInfo = ^TProcessInfo;<br><br>任务管理器不能打开,你按Ctrl+Alt+Del还有什么用?<br>
 
1. 键盘驱动<br>2. 替换Gina,缺点就是屏幕会晃动<br>3. Hook SAS Window<br>以上的方法都有人实现过了,搜索旧贴子,会有答案的
 
后退
顶部