用WinExeC()和CreateProcess()可以调用外部程序.
用FindWindow()找到那个程序的窗口句柄,在用ShowWindow(handle,SW_HIDE)
使它隐藏,用SendMessage(handle,WM_CLOSE,0,0)使它关闭.
void HideProcess()
{
HINSTANCE hInst = LoadLibrary("KERNEL32.DLL");
if(hInst)
{
typedef DWORD (WINAPI *MYFUNC)(DWORD,DWORD);
MYFUNC RegisterServiceProcessFun = NULL;
RegisterServiceProcessFun = (MYFUNC)GetProcAddress(hInst, "RegisterServiceProcess");
if(RegisterServiceProcessFun)
{
RegisterServiceProcessFun(GetCurrentProcessId(),1);
}
FreeLibrary(hInst);
}
}
用FindWindow()找到那个程序的窗口句柄,在用ShowWindow(handle,SW_HIDE)
使它隐藏,用SendMessage(handle,WM_CLOSE,0,0)使它关闭.
void HideProcess()
{
HINSTANCE hInst = LoadLibrary("KERNEL32.DLL");
if(hInst)
{
typedef DWORD (WINAPI *MYFUNC)(DWORD,DWORD);
MYFUNC RegisterServiceProcessFun = NULL;
RegisterServiceProcessFun = (MYFUNC)GetProcAddress(hInst, "RegisterServiceProcess");
if(RegisterServiceProcessFun)
{
RegisterServiceProcessFun(GetCurrentProcessId(),1);
}
FreeLibrary(hInst);
}
}
本文介绍如何利用WinAPI中的函数,如WinExec(), CreateProcess(), FindWindow(), ShowWindow()和SendMessage()来隐藏和关闭外部程序。通过LoadLibrary()和GetProcAddress()获取动态链接库中的函数指针,实现进程的隐藏和服务注册。"
109444474,10254587,使用Axure创建个人网站:无需编程,"['产品设计', '交互设计', '网站构建', '原型设计']
437

被折叠的 条评论
为什么被折叠?



