我想做一个能定时关掉指定程序的c语言程序
我想做一个能定时关掉指定程序的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");}