奇怪,用RegisterServiceProcess程序不能隐藏了。(100分)

  • 主题发起人 jackiesh
  • 开始时间
J

jackiesh

Unregistered / Unconfirmed
GUEST, unregistred user!
SOS!我重装了WIN98SE+DELPHI5Pack1后,以前用RegisterServiceProcess做的程序就不能隐藏了。原程序如下。

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


Tregisterserviceprocess=function(dwProcessID, dwType: integer):
integer;
stdcall;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var LibHandle:thandle;
version:tOSVERSIONINFO;
RegisterServiceProcess:tRegisterServiceProcess;
begin

version.dwOSVersionInfoSize:=sizeof(tOSVersionInfo);
if GetVersionEx(version) then

if version.dwPlatformId<>VER_PLATFORM_WIN32_NT then

begin

LibHandle:=loadLibrary('KERNEL32.DLL');
try
if LibHandle<>0 then

begin

@RegisterServiceProcess:=getprocaddress(libhandle,'RegisterServiceProcess');
if not(@RegisterServiceProcess=nil) then

begin

RegisterServiceProcess(GetCurrentProcessID, 1);
end;

end;

finally
freelibrary(libhandle);
end;

end;

end;


end.
 
调用 RegisterServiceProcess 时,第一个参数要设置为 0 即可,不需要调用
GetCurrentProcessID。参数 0 就表示当前的进程,绝对正确。我的程序中就是
这样用的。另外,在 Win32 API SDK 中对这个隐藏函数的说明也是这样的。
 
来晚了,同意
 
我在NT下试了试,0程序也不能隐藏.
 
来晚了,同意
 
但我就是不能使程序隐藏起来,我已重装了N
次系统。你们能用我的程序运行一下吗?谢谢!
 
nt下用这个函数隐藏不了。9x下还可以。
 
我是用WIN98SE,在三天前我的程序还工作的很好,可当我重装系统后。我发现一切都变了。
天啊!我为什么要重装系统。不知我现在是应该怨WIN98还是Delphi。反正我要疯啦。
 
哈哈哈哈!两眼通红的,几近发疯的Jackiesh在晚上十二点半狂笑不直。终于
他发现他程序不对的原因了。是少了一个FORM1.visible:=False;今天他终于
可以睡个好觉了。100分给各位朋友吧!谢谢。你们成功挽救了一个革命青年。
 

Similar threads

I
回复
0
查看
431
import
I
I
回复
0
查看
618
import
I
I
回复
0
查看
578
import
I
I
回复
0
查看
674
import
I
顶部