一、前言
該系列前幾篇文章:
windows核心編程--1、使用vs2019編寫第一個win32項目
windows核心編程--2、windows的畫筆畫刷以及一些簡單的應用
二、實驗要求
掌握CreateProcess
、ExitProcess
以及TerminateProcess
函數的應用。
三、實驗步驟
1、關於CreateProcess
函數,從名字就可以知道,該函數作用爲創建一個新進程,該函數一共有10個參數,一般來說我們通過該函數拉起一個進程執行一個exe文件,將要執行的命令放在第二個參數位置上即可。例如BOOL bret = ::CreateProcess(NULL, command, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
,實例爲上一篇文章基礎上添加一個鍵盤點擊事件,執行打開記事本操作,如下所示:
2、關於ExitProcess
和TerminateProcess
函數,這兩個函數都是用來結束進程的,區別在於前一個進程只能用於結束自身所在進程,後一個函數可以結束其他進程。這裏只介紹TerminateProcess
函數的用法,該函數使用OpenProcess
函數獲取要結束的進程句柄,然後調用該函數結束該進程即可。實例爲上一篇文章中我們添加了一個菜單按鈕,現在我們補全該響應事件,即點擊該項結束記事本進程,如下所示: