delphi2007掩藏进程时出错

delphi2007隐藏进程时出错
网上看到的隐藏进程的例子,基本都是这样写的

function RegisterServiceProcess(dwProcessID,dwType:DWord):DWord;
  stdcall;external 'KERNEL32.DLL';
然后在按钮事件中,使用下面执行隐藏进程
registerserviceprocess(GetCurrentProcessID,1);

但我在DELPHI2007 里写完后,编译没有报错。
但执行的时候,却跳出这个提示:

debugger fault notification

project 程序路径 faulted with message:'access violation at 0x7c94aa89:write of 
address 0x00030d24'.process stopped.use step or run to continue.


请问这是怎么回事,该如何解决

------解决方案--------------------
RegisterServiceProcess此函数在Win98及以下才存在,Win2000以上便被取消了,只能用更麻烦的方法,可惜我不知道。。
------解决方案--------------------
NT内核下,RegisterServiceProcess 同用了,要想隐藏进程,得对内核RING0熟悉才行!
------解决方案--------------------
你那是98之前的方法,现在都win7,8了,不过还是有不少人用xp,其实在xp下的某些环境下还是可以在ring3下隐藏本身进程的,方法好像是把EPROCESS链表中自己进程那个位置给去掉,有些环境下能在任务管理器中把自己隐藏,但有些环境下还是不行,这样就只有进入ring0了。