成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

網(wǎng)絡(luò)安全編程:結(jié)束進(jìn)程

安全
利用調(diào)用SendMessage()函數(shù)發(fā)送WM_CLOSE消息到目標(biāo)窗口的方法,會讓程序正常結(jié)束而退出。本文介紹類似任務(wù)管理器的功能,強(qiáng)制結(jié)束某個指定的進(jìn)程。

 [[383158]]

通常情況下,讓程序自行結(jié)束是最理想的狀態(tài)。在進(jìn)程正常進(jìn)行退出時,會調(diào)用ExitProcess()函數(shù)。利用調(diào)用SendMessage()函數(shù)發(fā)送WM_CLOSE消息到目標(biāo)窗口的方法,會讓程序正常結(jié)束而退出。本文介紹類似任務(wù)管理器的功能,強(qiáng)制結(jié)束某個指定的進(jìn)程。

1. 結(jié)束指定進(jìn)程的示例代碼

通過結(jié)束一個記事本,說明如何結(jié)束其他進(jìn)程。結(jié)束記事本進(jìn)程的代碼如下:

 

  1. #include <Windows.h>  
  2. int main(int argc, char* argv[])  
  3.  
  4.   HWND hNoteWnd = FindWindow(NULL, "無標(biāo)題 - 記事本");  
  5.   if ( hNoteWnd == NULL )  
  6.   {  
  7.     return -1;  
  8.   }  
  9.   DWORD dwNotePid = 0
  10.   GetWindowThreadProcessId(hNoteWnd, &dwNotePid);  
  11.   if ( dwNotePid == 0 )  
  12.   {  
  13.     return -1;  
  14.   }  
  15.   HANDLE hNoteHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwNotePid);  
  16.   if ( hNoteHandle == NULL )  
  17.   {  
  18.     return -1;  
  19.   }  
  20.   BOOL bRet = TerminateProcess(hNoteHandle, 0);  
  21.   if ( bRet == TRUE )  
  22.   {  
  23.     MessageBox(NULL, "結(jié)束進(jìn)程成功", NULL, MB_OK);  
  24.   }  
  25.   CloseHandle(hNoteHandle);  
  26.   return 0;  

編譯連接上面的程序,然后打開一個空的記事本程序,運行這個編譯好的程序,會發(fā)現(xiàn)記事本程序的進(jìn)程被結(jié)束掉了,這里的程序彈出一個簡單的對話框,提示“結(jié)束進(jìn)程成功”。

2. 結(jié)束進(jìn)程所需API函數(shù)說明

在上面的程序代碼中,結(jié)束進(jìn)程的API函數(shù)一共用到了4個,分別是FindWindow()、GetWindowThreadProcessId()、OpenProcess()和TerminateProcess()。

GetWindowThreadProcessId()函數(shù)的定義如下: 

  1. DWORD GetWindowThreadProcessId(  
  2.  HWND hWnd,  
  3.  LPDWORD lpdwProcessId  
  4. ); 

參數(shù)說明如下。

hWnd:窗口句柄,代碼中的窗口句柄是由 FindWindow()函數(shù)獲取的。

lpdwProcessId:該參數(shù)是一個指向 DWORD 類型的指針,用戶返回窗口句柄所對應(yīng)的進(jìn)程 ID。

GetWindowThreadProcessId()函數(shù)在得到進(jìn)程 ID 后,將進(jìn)程 ID 傳遞給 OpenProcess() 函數(shù)來得到進(jìn)程的句柄。OpenProcess()函數(shù)的定義如下: 

  1. HANDLE OpenProcess(  
  2.  DWORD dwDesiredAccess,  
  3.  BOOL bInheritHandle,  
  4.  DWORD dwProcessId  
  5. ); 

參數(shù)說明如下。

dwDesiredAccess:打開進(jìn)程欲獲得的訪問權(quán)限,該參數(shù)為了方便,可以始終為 PROCESS_ALL_ACCESS。

bInheritHandle:指定獲取的句柄是否可以繼承,一般選擇不繼承,傳遞值為 FALSE。

dwProcess:指定欲打開的進(jìn)程 ID 號,該進(jìn)程 ID 號是由 GetWindowThreadProcessId()獲得的。

該函數(shù)的返回值為進(jìn)程的句柄,通過這個句柄就可以調(diào)用 TerminateProcess()函數(shù)來進(jìn)行結(jié)束。TerminateProcess()函數(shù)的定義如下: 

  1. BOOL TerminateProcess(  
  2.  HANDLE hProcess,  
  3.  UINT uExitCode  
  4. ); 

參數(shù)說明如下。

hProcess:欲結(jié)束進(jìn)程的進(jìn)程句柄,該句柄已經(jīng)由 OpenProcess()函數(shù)得到。

uExitCode:進(jìn)程的退出碼,通常為 0 值。

通過一些列的API函數(shù),完成了一個結(jié)束進(jìn)程的程序。結(jié)束程序時的第一步是得到窗口的句柄,如果這個進(jìn)程沒有窗口,是不是就沒有辦法通過程序去結(jié)束進(jìn)程了?其實還是有辦法的。

從上面的3個API函數(shù)中可以看到,通過進(jìn)程的窗口可以得到進(jìn)程的ID,通過進(jìn)程的ID可以得到進(jìn)程的句柄。他們內(nèi)部本身都是有關(guān)聯(lián)的,因此,在需要使用相關(guān)資源時,如果不能直接得到的時候,不妨通過這樣的方式逐步去得到。 

 

責(zé)任編輯:龐桂玉 來源: 計算機(jī)與網(wǎng)絡(luò)安全
相關(guān)推薦

2021-02-21 18:19:43

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全編程創(chuàng)建進(jìn)程

2021-06-24 08:37:34

網(wǎng)絡(luò)安全內(nèi)核代碼

2021-03-01 11:38:15

網(wǎng)絡(luò)安全進(jìn)程代碼

2021-03-03 12:20:42

網(wǎng)絡(luò)安全DLL編程

2021-01-26 13:45:03

網(wǎng)絡(luò)安全Winsock編程

2021-03-05 13:46:56

網(wǎng)絡(luò)安全遠(yuǎn)程線程

2021-01-22 10:58:16

網(wǎng)絡(luò)安全進(jìn)程間碼如

2016-10-10 00:18:27

2021-06-18 09:55:09

網(wǎng)絡(luò)安全目錄監(jiān)控

2011-03-17 13:32:45

2021-05-12 14:57:13

網(wǎng)絡(luò)安全密碼代碼

2021-04-19 10:26:41

網(wǎng)絡(luò)安全PE文件

2021-02-04 10:50:11

網(wǎng)絡(luò)安全非阻塞模Winsock編程

2021-06-15 11:16:24

網(wǎng)絡(luò)安全U盤軟件

2021-05-24 11:55:55

網(wǎng)絡(luò)安全Windows鉤子函數(shù)

2021-01-18 10:35:18

網(wǎng)絡(luò)安全Windows代碼

2021-03-01 11:20:13

網(wǎng)絡(luò)安全多線程代碼

2023-07-13 07:10:20

2021-12-28 00:11:40

網(wǎng)絡(luò)安全攻擊

2021-04-26 10:32:38

網(wǎng)絡(luò)安全PE編程工具
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区二区中文字幕 | 97影院在线午夜 | 日韩欧美国产精品 | 久久国产精品一区二区三区 | 伦理一区二区 | 成人一级毛片 | 久久久精品一区二区 | 亚洲品质自拍视频网站 | 亚洲激情一区二区 | 国产精品久久久久无码av | 国产精品一区二区不卡 | 色婷婷综合网站 | 日本免费视频在线观看 | 亚洲视频免费观看 | 亚洲精品免费视频 | 亚洲综合二区 | 国内91在线 | 黄色免费网站在线看 | 宅女噜噜66国产精品观看免费 | 日韩在线观看网站 | 欧美网站一区二区 | 91精品久久久久久久久中文字幕 | 日韩av中文| 一级毛片免费 | av黄色在线播放 | 久久大陆 | 精品福利在线 | 色视频网站 | 99爱国产 | 国产目拍亚洲精品99久久精品 | 操射视频 | 国产午夜精品久久久久免费视高清 | 久久久九九 | 一区二区三区视频在线观看 | 亚洲精品久久久久久久久久久久久 | 日韩欧美国产精品 | 午夜一区 | 九九热在线视频免费观看 | 日本成人福利 | 午夜私人影院 | 成人影院网站ww555久久精品 |