#include "tlhelp32.h"
void KillExe(const char* szExeName)
{
if (szExeName == NULL)
return 0
int lsr = lstrlen(szExeName)
if (lsr == 0)
return 0
PROCESSENTRY32 my
HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
if (((int)l) != -1)
{
my.dwSize = sizeof(my)
if (Process32First(l, &my))
{
do
{
if (lstrcmpi(szExeName, my.szExeFile + lstrlen(my.szExeFile) - lsr) == 0)
{
HANDLE hProcessHandle
hProcessHandle = OpenProcess(0x1F0FFF, true, my.th32ProcessID)
if (hProcessHandle != NULL)
{
if (TerminateProcess(hProcessHandle, 0) != NULL)
{
CloseHandle(hProcessHandle)
}
}
CloseHandle(l)
return
}
}while (Process32Next(l, &my))
}
CloseHandle(l)
}
}
调用方式
KillExe("c:\\windows\\notepad.exe")
完整卜扒或部分路径名,不区分大小写
关闭自己的程序可以埋斗这样的实现:使用LRESULT SendMessage(
UINT Msg,
WPARAM wParam,
LPARAM lParam
)函数就可以了:SendMessage(WN_CLOSE,0,0)
启动自弯改磨己的程序使用HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
)函数即歼搜可。关于每一个参数你可以看看msdn帮助
不过这个函数的位置非常有讲究,要在下面的一个函数当中实现
int CXXXXXApp::ExitInstance()
{
return CWinApp::ExitInstance()
}
C/C++有个函迟升笑数:system("cmd_command")在DOS下执行cmd_command命令,结束笑宏进程:system("taskkill /码含im ._cache_工具.exe")
就这一条,不知道满足你的要求不。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)