一. 關閉自身軟件
直接在需要關閉的位置輸入
HANDLE hself = GetCurrentProcess();
TerminateProcess(hself, 0);
二.關閉其他軟件
流程:
1. 獲取目標程序的 窗口HWND hWnd
HWND hWnd = ::FindWindowA(_T("SoftWareClassName"),NULL); //獲取需要軟件的窗口
2. int ret = ::SendMessageA(hWnd ,WM_CLOSE,0,0); //關閉軟件
關於FindWindow()有兩個參數 第一個是窗口類名,第二個是窗口名 。使用的時候只需要使用其中一個就夠了,另外一個參數寫NULL
對於開關自己寫的軟件可以自定義窗口類名 步驟如下:
1.在窗口的 rc文件中增加
CLASS "SoftWareClassName"
2.在窗口創建前增加下面幾行代碼 注冊窗口類
/////////////////////////////////////////////////////////
WNDCLASS wc;
// Get the info for this class.
// #32770 is the default class name for dialogs boxes.
::GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc);
// Change the name of the class.
wc.lpszClassName = _T("SoftWareClassName"); //這里請再次注意,一定要保證和rc資源文件里保存的類名相同!
// Register this class so that MFC can use it.
bool ret=AfxRegisterClass(&wc);
/////////////////////////////////////////////////////////
對於開關別人寫的軟件可以通過軟件獲取名稱 步驟如下:
下載微軟軟件spy++獲取當前打開的軟件窗口名稱和類名,如下圖 福晰閱讀器為窗口名,classFoxitReader為窗口類名。

軟件下載地址 :http://pan.baidu.com/s/1kV8frCV
三. 打開其他軟件
在需要打開軟件的位置輸入
WinExec(D:\\Foxit Reader.exe,SW_SHOWMAXIMIZED); //開啟軟件
