c語言關閉程序
㈠ 怎麼用c語言寫一個關閉後台某進程的程序
//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");
㈡ C語言中如何實現按任意鍵退出
直接調用系統函數 system("pause")即可:
system()會調用fork()產生子進程, 由子進程來調用/bin/sh-c string 來執行參數string 字元串所代表的命令, 此命令執行完後隨即返回原調用的進程。
system("pause")可以實現凍結屏幕,便於觀察程序的執行結果。
(2)c語言關閉程序擴展閱讀:
C語言參考函數:
C語言isupper()函數:判斷一個字元是否是大寫字母
C語言isspace()函數:判斷一個字元是否是空白符
C語言isprint()函數:判斷一個字元是否是可列印字元
C語言islower()函數:判斷一個字元是否是小寫字母
C語言labs()函數:求整數的絕對值(針對long類型)
㈢ c語言怎麼關閉正在運行的應用程序
可以通過system 函數,調用dos命令taskkill實現關閉正在運行的應用程序。
如
system("taskkill /im notepad.exe");
會關閉記事本應用。
system("taskkill \F /pid 1234 \T");
會強制結束pid為1234的進程及其子進程。
關於taskkill的詳細描述如下:
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
參數列表:
/S system 指定要連接到的遠程系統。
/U [domain\]user 指定應該在哪個用戶上下文
執行這個命令。
/P [password] 為提供的用戶上下文指定密碼。如果忽略,提示輸入。
/F 指定要強行終止的進程。
/FI filter 指定篩選進或篩選出查詢的的任務。
/PID process id 指定要終止的進程的PID。
/IM image name 指定要終止的進程的圖像名。通配符 '*'可用來指定所有圖像名。
/T Tree kill: 終止指定的進程和任何由此啟動的子進程。
/? 顯示幫助/用法。
篩選器:
篩選器名 有效運算符 有效值
----------- --------------- --------------
STATUS eq, ne 運行 | 沒有響應
IMAGENAME eq, ne 圖像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 會話編號
CPUTIME eq, ne, gt, lt, ge, le CPU 時間,格式為
hh:mm:ss。
hh - 時,
mm - 鍾,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 內存使用,單位為 KB
USERNAME eq, ne 用戶名,格式為
[domain\]user
MODULES eq, ne DLL 名
SERVICES eq, ne 服務名
WINDOWTITLE eq, ne 窗口標題
注意: 只有帶有篩選器的情況下,才能跟 /IM 切換使用通配符 '*'。
注意: 遠程進程總是要強行終止,
不管是否指定了 /F 選項。
㈣ C語言中如何按任意鍵結束正在運行的程序
在程序中加上以下語句:
按Esc鍵結束程序
#include
#define
Esc
0x11b
/*這兩句加在程序頭部*/
int
key;
/*定義key變數*/
if(bioskey(1))/*以下加在循環語句中*/
{
key=bioskey(0);
if(key==Esc)
break;
}
㈤ c語言 退出整個程序或函數的命令是什麼
c語言退出整個程序或函數的命令是return、goto 、break 、break。
1、return 返回;
return 表示從被調用函數返回主調函數繼續執行,返回時可附帶一個返回值,由return後面的參數設定。
2、goto 無條件跳轉;
goto語句也稱作無條件轉移語句,其一般格式為goto語句標號:其中語句標號是按照標識符規定書寫的符號,放在某一行語句行的前面,標號後加冒號(:)。
3、break 調處最近一層塊;
大多數情況下是終止上一層的循環,C語言中break在switch中執行一條case後跳出語句的作用 使程序跳出switch執行switch以後的語句 如果沒有break switch會從滿足條件的地方執行到switch結構結束。
(5)c語言關閉程序擴展閱讀
break語句使用
示例:
#include <stdio.h>
void main()
{
int x=1;
while(x<=4)
{
printf("x=%d ",x);
if (x==3)
{
break;
}
x++;
}
}
㈥ C語言如何通過代碼使程序退出
因為你的程序沒有設置暫停,運行完了之後,就自動關閉。可以在程序最後加上getchar();或者 system(pause);實現程序暫停的效果。
㈦ 怎麼用c語言結束某進程
結束當前進程或程序的話,只需要調用exit函數。
如果需要結束非當前進程的其它進程則一般需要藉助操作系統提供的系統函數。
如在windows操作系統中可以調用TerminateProcess來結束某進程。
在linux操作系統中可以調用Kill來結束某進程
㈧ C語言結束某個程序要怎麼寫
不同意樓上的意見
我想樓主要表達的是要用自己寫的程序來結束QQ的進程吧
簡單點兒可以使用系統命令
system("taskkill
/IM
qq.exe");
前提,包含頭文件
stdlib.h