Windows9x下隐藏进程

王朝厨房·作者佚名  2007-01-05
宽屏版  字体: |||超大  

Windows 9x中进程隐藏的目的就是让用户在任务管理器中

不能查看与关闭程序,从而实现一些关键性的任务。

在Windows 9x下实现进程隐藏比较简单,主要是调用一个32位的API函数:

RegisterServiceProcess,其函数原形为:

BOOL RegisterServiceProcess( DWORD dwPID, DWORD dwType )

参数:

dwPID:进程ID, NULL代表当前进程

dwType: RSP_SIMPLE_SERVICE为进程隐藏, RSP_UNREGISTER_SERVICE为取消进程隐藏

返回值: TRUE: 调用成功, FALSE: 调用失败

另外, 为了让进程随系统开机启动而自动加载,需要在注册表中的启动项中

加入您的应用程序,位置:

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run或RunServices

由于RegisterServiceProcess函数是Windows 9x下未公开的函数,

所以只能动态加载,具体细节如下:

CODE// Function types for GetProcAddress

typedef bool __stdcall (*pRegisterService)(DWORD,DWORD);

//get the os version information

osversion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

GetVersionEx(&osversion);

if(osversion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)

{

hKernel = LoadLibrary("kernel32.dll");

if(hKernel)

{

RegisterService =(pRegisterService)GetProcAddress(hKernel,"RegisterServiceProcess");

if(RegisterService)

{

RegisterService(::GetCurrentProcessId(),RSP_SIMPLE_SERVICE);

}

FreeLibrary(hKernel);

hKernel = NULL;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有