VC/MFC程序開啟關閉和打開自己或其他軟件,更改窗口類


一. 關閉自身軟件

 

直接在需要關閉的位置輸入

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);  //開啟軟件 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM