在Windows98/ME中我使用以下函数在关闭程序窗口中隐藏进程。为什么运行在XP下提示找不到KERNEL32.DLL文件,请问各位大侠,这如何解决啊!有更好的方法吗?
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'
解决方案 »
- delphi 默认的汉字编码是什么?怎么转换成gbk的?
- ADO 找不到可安装的ISAM
- 本要想花2k买FAST REPORT 4的FOR DELPHI 版本.大家有什么意见?
- 如何使Delphi6中的dbExpress支持MSSQL2000的数据库???
- 菜鸟求教:在使用adoquery1.parambyname中为什么出现[Error]Undeclared identifier: 'parambyname'
- 如何判断客户号重复?
- 大家好:请问如何用Calendar1这组件。谢意!
- 在一个按钮事件中如何触发 DBGird 控件的 DrawDataCell 事件? 在线等待
- 在Delphi中,使用TreeView创建结构树,何种方法最好?
- Datasnap报错:Remote error VAR and OUT arguments must match parameter type exactly
- 有關DBGrid!很急!在線!
- 如何创建一个空的WAV文件(100分)?
The function is supported by the Windows 95/98/Me SCM.
可以到这来下载一些关于怎样阻塞API的例子,不过有些步骤需要用到汇编。
http://www.anticracking.sk/EliCZ/export.htm
不要问我具体怎么写,我也没有仔细去看过。你也可以用下面几种方法实现相同的功能
1)使用C++写一个"Device Driver". 当它们加载时,*.SYS 文件不会显示在任务管理器中
2)在Delphi中写一个Service.让普通用户不能杀掉这个.exe服务进程,只有管理员才可以做
3)使用系统策略让任务管理器不能用
4)在一个死循环中检查用户是否打开了任务管理器窗口,如果打开了,使用下面代码进行控制
uses Windows,Messages;
var i:integer;
begin
repeat
i:=FindWindow(nil,'Windows NT Task Manager');
if not(i=0) then PostMessage(i,WM_CLOSE,0,0);
until false
end.