发信人: skyice()
整理人: wenbobo(2002-12-06 23:27:39), 站内信件
|
关键的一点在于使用未公开的 API 函数 RegisterServiceProcess。
RegisterServiceProcess 函数包含在 kernel32.dll 中,由于它属
于没有公开的 API 函数,因此还涉及到在应用程序中动态装入与卸载动态
链接库的问题。
下面是程序代码(bcb4下调试通过):
typedef DWORD (* RegisterServiceProcessCallBack)
(DWORD dwProcessId,DWORD dwType);
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
HINSTANCE hLib=LoadLibrary("kernel32.dll");
FARPROC ptr=GetProcAddress(hLib,"RegisterServiceProcess");
RegisterServiceProcessCallBack RegisterServiceProcess;
RegisterServiceProcess=(RegisterServiceProcessCallBack)ptr;
DWORD ProcessID = GetCurrentProcessId();
(* RegisterServiceProcess)(ProcessID,1);
FreeLibrary(hLib);
}
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.99.76.78]
|
|