怎么用C语言写一个关闭后台某进程的程序 c语言怎么关闭正在运行的应用程序

c\u8bed\u8a00\u600e\u4e48\u5173\u95ed\u6b63\u5728\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f

\u53ef\u4ee5\u901a\u8fc7system \u51fd\u6570\uff0c\u8c03\u7528dos\u547d\u4ee4taskkill\u5b9e\u73b0\u5173\u95ed\u6b63\u5728\u8fd0\u884c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002
\u5982
system("taskkill /im notepad.exe");
\u4f1a\u5173\u95ed\u8bb0\u4e8b\u672c\u5e94\u7528\u3002
system("taskkill \F /pid 1234 \T");
\u4f1a\u5f3a\u5236\u7ed3\u675fpid\u4e3a1234\u7684\u8fdb\u7a0b\u53ca\u5176\u5b50\u8fdb\u7a0b\u3002

\u5173\u4e8etaskkill\u7684\u8be6\u7ec6\u63cf\u8ff0\u5982\u4e0b\uff1a
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

\u53c2\u6570\u5217\u8868:
/S system \u6307\u5b9a\u8981\u8fde\u63a5\u5230\u7684\u8fdc\u7a0b\u7cfb\u7edf\u3002
/U [domain\]user \u6307\u5b9a\u5e94\u8be5\u5728\u54ea\u4e2a\u7528\u6237\u4e0a\u4e0b\u6587
\u6267\u884c\u8fd9\u4e2a\u547d\u4ee4\u3002
/P [password] \u4e3a\u63d0\u4f9b\u7684\u7528\u6237\u4e0a\u4e0b\u6587\u6307\u5b9a\u5bc6\u7801\u3002\u5982\u679c\u5ffd\u7565\uff0c\u63d0\u793a\u8f93\u5165\u3002
/F \u6307\u5b9a\u8981\u5f3a\u884c\u7ec8\u6b62\u7684\u8fdb\u7a0b\u3002
/FI filter \u6307\u5b9a\u7b5b\u9009\u8fdb\u6216\u7b5b\u9009\u51fa\u67e5\u8be2\u7684\u7684\u4efb\u52a1\u3002
/PID process id \u6307\u5b9a\u8981\u7ec8\u6b62\u7684\u8fdb\u7a0b\u7684PID\u3002
/IM image name \u6307\u5b9a\u8981\u7ec8\u6b62\u7684\u8fdb\u7a0b\u7684\u56fe\u50cf\u540d\u3002\u901a\u914d\u7b26 '*'\u53ef\u7528\u6765\u6307\u5b9a\u6240\u6709\u56fe\u50cf\u540d\u3002
/T Tree kill: \u7ec8\u6b62\u6307\u5b9a\u7684\u8fdb\u7a0b\u548c\u4efb\u4f55\u7531\u6b64\u542f\u52a8\u7684\u5b50\u8fdb\u7a0b\u3002
/? \u663e\u793a\u5e2e\u52a9/\u7528\u6cd5\u3002
\u7b5b\u9009\u5668:
\u7b5b\u9009\u5668\u540d \u6709\u6548\u8fd0\u7b97\u7b26 \u6709\u6548\u503c
----------- --------------- --------------
STATUS eq, ne \u8fd0\u884c | \u6ca1\u6709\u54cd\u5e94
IMAGENAME eq, ne \u56fe\u50cf\u540d
PID eq, ne, gt, lt, ge, le PID \u503c
SESSION eq, ne, gt, lt, ge, le \u4f1a\u8bdd\u7f16\u53f7
CPUTIME eq, ne, gt, lt, ge, le CPU \u65f6\u95f4\uff0c\u683c\u5f0f\u4e3a
hh:mm:ss\u3002
hh - \u65f6\uff0c
mm - \u949f\uff0css - \u79d2
MEMUSAGE eq, ne, gt, lt, ge, le \u5185\u5b58\u4f7f\u7528\uff0c\u5355\u4f4d\u4e3a KB
USERNAME eq, ne \u7528\u6237\u540d\uff0c\u683c\u5f0f\u4e3a
[domain\]user
MODULES eq, ne DLL \u540d
SERVICES eq, ne \u670d\u52a1\u540d
WINDOWTITLE eq, ne \u7a97\u53e3\u6807\u9898
\u6ce8\u610f: \u53ea\u6709\u5e26\u6709\u7b5b\u9009\u5668\u7684\u60c5\u51b5\u4e0b\uff0c\u624d\u80fd\u8ddf /IM \u5207\u6362\u4f7f\u7528\u901a\u914d\u7b26 '*'\u3002
\u6ce8\u610f: \u8fdc\u7a0b\u8fdb\u7a0b\u603b\u662f\u8981\u5f3a\u884c\u7ec8\u6b62\uff0c
\u4e0d\u7ba1\u662f\u5426\u6307\u5b9a\u4e86 /F \u9009\u9879\u3002

\u5728\u4efb\u52a1\u680f\u4e0a\uff0c\u53f3\u51fb-\u300b\u4efb\u52a1\u7ba1\u7406\u5668-\u300b\u5e94\u7528\u7a0b\u5e8f\uff0c\u91cc\u9762\u5c31\u6709\u663e\u793a\u6b63\u5728\u8fd0\u884c\u7684\u7a0b\u5e8f\uff0c\u9009\u62e9\u4f60\u8981\u5173\u95ed\u7684\u7a0b\u5e8f\uff0c\u7136\u540e\u9009\u62e9\u7ed3\u675f\u8fdb\u7a0b

//kill进程from名字
BOOL KillProcessFromName(LPCSTR lpProcessName)
{
//创建进程快照(TH32CS_SNAPPROCESS表示创建所有进程的快照)
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//PROCESSENTRY32进程快照的结构体
PROCESSENTRY32 pe;
//实例化后使用Process32First获取第一个快照的进程前必做的初始化操作
pe.dwSize = sizeof(PROCESSENTRY32);

//下面的IF效果同:
//if(hProcessSnap == INVALID_HANDLE_VALUE) 无效的句柄
if(!Process32First(hSnapShot,&pe))
{
return FALSE;
}
CString strProcessName = lpProcessName;
//将字符串转换为小写
strProcessName.MakeLower();

//如果句柄有效 则一直获取下一个句柄循环下去
while (Process32Next(hSnapShot,&pe))
{
//pe.szExeFile获取当前进程的可执行文件名称
CString scTmp = pe.szExeFile;

//将可执行文件名称所有英文字母修改为小写
scTmp.MakeLower();
//比较当前进程的可执行文件名称和传递进来的文件名称是否相同
//相同的话Compare返回0
if(!scTmp.Compare(strProcessName))
{
//从快照进程中获取该进程的PID(即任务管理器中的PID)
DWORD dwProcessID = pe.th32ProcessID;
HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessID);
::TerminateProcess(hProcess,0);
CloseHandle(hProcess);
return TRUE;
}
scTmp.ReleaseBuffer();
}
strProcessName.ReleaseBuffer();
return FALSE;
}
以杀死qq程序为例,我们可以通过下列方式:
KillProcessFromName("qq.exe");

  • 鎬庝箞鐢–璇█鍐欎竴涓叧闂悗鍙版煇杩涚▼鐨勭▼搴
    绛旓細//kill杩涚▼from鍚嶅瓧 BOOL KillProcessFromName(LPCSTR lpProcessName){ //鍒涘缓杩涚▼蹇収(TH32CS_SNAPPROCESS琛ㄧず鍒涘缓鎵鏈夎繘绋嬬殑蹇収)HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//PROCESSENTRY32杩涚▼蹇収鐨勭粨鏋勪綋 PROCESSENTRY32 pe;//瀹炰緥鍖栧悗浣跨敤Process32First鑾峰彇绗涓涓蹇収鐨勮繘绋...
  • C璇█鐢ㄤ粈涔堝嚱鏁板彲浠ヤ紤鐪涓涓悗鍙杩愯鐨勭▼搴
    绛旓細C閲岄潰闄や簡杩欎釜鍑芥暟濂藉儚娌℃湁鍒殑鍑芥暟浜嗐備互鍓嶇殑鏈哄櫒閮芥參锛屾墍浠ヨ繖涓簲鐢ㄥ簲璇ヤ笉鏄緢澶氥傚綋骞存垜浠啓绋嬪簭鐨勬椂鍊欙紝鏄娇鐢ㄧ┖寰幆鏉ヤ汉涓哄埗閫犲欢杩熺殑銆傛瘮濡傦細for(i=0;i<10000;i++);灏辫繖鏍凤紝璁╀粬寰幆寰堝娆★紝涔熷氨鎱笅鏉ヤ簡銆備笉鐭ラ亾瀵逛綘鏈夋病鏈夊府鍔┿
  • 鍦↙inux涓鐢–璇█缂栫▼
    绛旓細if((child=fork())==-1){ printf("Fork Error:%s\n",strerror(errno));exit(1);} else if(child>0)while(1);if(kill(getppid(),SIGTERM)==-1){ printf("Kill Parent Error:%s\n",strerror(errno));exit(1);} { int mailfd;while(1){ if((mailfd=open(MAIL,O_RDONLY))!=-1...
  • 濡備綍鐢–璇█鍐欏悗鍙绋嬪簭?
    绛旓細timeSetEvent(10000,1,Timer1_Timer,1,TIME_PERIODIC);鐚滄祴绗涓涓鍙傛暟涓哄畾鏃舵椂闂撮棿闅旓紝绗簩涓弬鏁颁负鏃堕棿缂栧彿锛岀涓変釜鍙傛暟涓哄嚱鏁版寚閽堬紝绗洓涓弬鏁版槸寰幆娆℃暟涔堬紵绗簲涓弬鏁板張鏄敤鏉ュ仛浠涔堬紵鏄皟鐢 SetTimer () 璁剧疆鐨勫畾鏃跺櫒涔堬紵鎴戝杩欎釜鍑芥暟鐨勫唴閮ㄥ鐞嗕笉澶簡瑙c倃hile(!a){ Sleep(1);} 鎴戞兂锛屽師鍥...
  • C璇█ 鎬庝箞璁剧疆閿洏杈撳叆鐒跺悗鍏抽棴绋嬪簭
    绛旓細鍋囧杈撳叆Q鍚鍏抽棴绋嬪簭銆 if ( input_char == 'Q' ) return 0; 鐑績缃戝弸| 鍙戝竷浜2013-04-08 涓炬姤| 璇勮 0 5 浣犵殑鎰忔濆簲璇ユ槸绋嬪簭鏄涓涓寰幆绋嬪簭,褰撹緭鍏ユ煇涓瓧绗︽椂灏辫烦鍑哄惊鐜,缁撴潫绋嬪簭,閭e彧瑕#include<stdio.h>int main(){ char a; while(1) { scanf("%c",&a); if(a=='$') { break; ...
  • 鎬庝箞缂栧啓c璇█ 鍦╲c++杞欢涓啓 鍚庡彴杩愯绋嬪簭 灏辨槸鎵撳紑椹笂灏辫烦娌′簡...
    绛旓細浣犲彲浠ヨ缃殣钘忕獥浣撶殑 杩欐牱灏变細鍦鍚庡彴杩愯 浣犵湅涓嶅埌绐楀彛銆傞殣钘忕獥鍙e叿浣揂PI;ShowWIndow(HWND wnd , SW_HIDE); //wnd鏄綘瑕侀殣钘忕殑绐椾綋鍙ユ焺 绋嬪簭鍐呴儴鐩存帴浣跨敤m_hWnd鍗冲彲锛
  • 鐢–璇█缂栧啓鐨勭▼搴,搴旇鎬庝箞缂栧啓exe绋嬪簭,璁╁畠鍦鍚庡彴杩愯,涔熷氨鏄笉鏄剧ず...
    绛旓細绋嬪簭鍏ュ彛鐐圭敱 int main(int argc, char* argv[]) 鏀逛负 int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmd, INT nShow) 鍗冲彲
  • C璇█闂銆
    绛旓細娌℃湁鐖惰繘绋嬫病鏈夊瓙杩涚▼鎴栬呬粬鐨勫瓙杩涚▼宸茬粡缁撴潫浜唚ait鍥炵珛鍗宠繑鍥.鎴愬姛鏃(鍥涓涓瀛愯繘 绋嬬粨鏉)wait灏嗚繑鍥炲瓙杩涚▼鐨処D,鍚﹀垯杩斿洖-1,骞惰缃叏灞鍙橀噺errno.stat_loc鏄瓙杩涚▼鐨 閫鍑鐘舵.瀛愯繘绋嬭皟鐢╡xit,_exit 鎴栬呮槸return鏉ヨ缃繖涓. 涓轰簡寰楀埌杩欎釜鍊糒inux瀹 涔変簡鍑犱釜瀹忔潵娴嬭瘯杩欎釜杩斿洖鍊. WIFEXITED:鍒ゆ柇瀛愯繘绋嬮鍑哄...
  • 涓涓狢璇█绋嬪簭!
    绛旓細鍑芥暟team *input(team *head,team *p)鏈鍚庡繕璁颁簡 return p;
  • C璇█瀹炵幇绋嬪簭鍚庡彴杩愯,涓瀹氳C璇█(鍙敤dev C)!涓嶈兘鐢╒C
    绛旓細C璇█浼氳缂栬瘧鍣ㄧ紪璇戞垚姹囩紪锛屾搷浣滅郴缁熸彁渚涗竴涓祫婧愭潈闄愮殑绌洪棿鏉ヨ鍏惰繍琛屻傝繖鍏朵腑C璇█鐨勪竴浜涗綘鐪嬭捣鏉ュ緢绠鍗曠殑鎿嶄綔濡俻rintf绛夐兘鏄鏈変竴涓鍑芥暟搴撴潵鏀寔鐨勶紝杩欎簺鍑芥暟搴撳疄璐ㄤ笂鏄搷浣滅郴缁熸彁渚涗竴浜汚PI灏佽鍚庣殑鏍峰瓙锛岃繖鏍蜂娇鐢ㄨ捣鏉ユ洿鍔犳柟渚裤備笉鍚岀殑鎿嶄綔绯荤粺鎻愪緵鐨凙PI鏄湁浜涗笉鍚岀殑锛岃繖浜涙湁鐩稿簲鐨刲ib鏉ヨВ鍐筹紝浣犲湪c...
  • 扩展阅读:扫一扫题目出答案 ... 手机后台运行在哪里看 ... 怎么设置后台永久运行 ... 后台录音在哪里关闭 ... 苹果怎么让app后台运行 ... 怎么关掉后台隐藏运行 ... 怎样关闭后台运行程序 ... oppo手机后台怎么关闭 ... 安卓手机怎么关闭后台运行 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网