小弟我想做一个能定时关掉指定程序的c语言程序
我想做一个能定时关掉指定程序的c语言程序
我想做一个能定时关掉指定程序的c语言程序,比如说30分钟后关掉搜狗浏览器。谁能告诉我该怎么做呀?
------解决方案--------------------
找到你要关闭进程的句柄,然后通过该句柄关闭之
我想做一个能定时关掉指定程序的c语言程序,比如说30分钟后关掉搜狗浏览器。谁能告诉我该怎么做呀?
------解决方案--------------------
找到你要关闭进程的句柄,然后通过该句柄关闭之
- C/C++ code
查找进程函数定义 DWORD GetProcessVid(TCHAR* lpName) { HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY32 pe32 = {0}; if(!lpName) { return 0; } hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == INVALID_HANDLE_VALUE) return 0; pe32.dwSize = sizeof(PROCESSENTRY32); if (Process32First(hProcessSnap, &pe32)) { do { if(wcscmp(_wcsupr(pe32.szExeFile),_wcsupr(lpName)) == 0) { CloseHandle (hProcessSnap); return pe32.th32ProcessID; } } while (Process32Next(hProcessSnap, &pe32)); bRet = 0; } else bRet = 0; CloseHandle (hProcessSnap); return bRet; } ////////// //通过进程名称结束进程的代码,例如要结束记事本“notepad.exe”,如下: TCHAR tmp[MAX_PATH]; memset(tmp,0,MAX_PATH); wcscpy(tmp,_T("notepad.exe")); DWORD pid = GetProcessVid(tmp); if (pid != 0) { HANDLE hprocess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid); if (hprocess != NULL) { TerminateProcess(hprocess,0); CloseHandle(hprocess); } }
------解决方案--------------------
- C/C++ code
#include <stdlib.h> #include <stdio.h> #include <windows.h> int i; void main() { for (i=1800;i>0;i--) { printf("%02d:%02d\n",i/60;i%60); Sleep(1000); } system("taskkill /IM sogouexplorer.exe"); }