我們在寫程式中經常要操作外部程式,比如:設定它的大小、位置等。別人寫的的程式我們如何控制呢?還好有強大api庫。翻翻api,你會發現很多函式呼叫都需要知道視窗控制代碼。方法也很多,但能保證百分百成功的似乎沒了。今天寫**就讓我遇到了,折騰了半天。
先說說我的程式吧。在程式啟動時,開啟乙個外部程式。這個外部程式開啟後我又不想看到標題欄和邊框,手動移動視窗似乎可剛好移動隱藏掉。於是想到了定位的方法。執行時卻沒有效果,外部程式視窗控制代碼找不到,開個記事本測試又可以,萬般無賴啊。強大的vs其實已經為我們提供了工具。依次進入」開始選單「——"所有程式"——"microsoft visual studio 2008"——"visual studio tools"——"spy++"(這個程式有的機器有,有的沒有。可能與版本或者是否安裝c++包有關),執行它。快捷鍵alt+f3出現如下視窗。
點選並拖動如圖紅色框中的圖示就指定視窗,下面的三個框則會相應主變化。這個過程中我們主要是得到類這值,因為有些程式的標題是隨時變化的。使用win32 api findwindow就能找到視窗控制代碼了。原型如下:
[dllimport(lpclassname:類名"user32.dll
", entrypoint ="
findwindow")]
public
extern
static
intptr findwindow(
string
lpclassname,
string
lpwindowname);
lpwindowname:視窗標題
不知是否有直接隱藏掉標題、邊框的api。如果有,知道的望告知,謝謝。
MFC獲取視窗控制代碼的方法
afxgetmainwnd afxgetmainwnd獲取自身視窗控制代碼 hwnd hwnd afxgetmainwnd m hwnd gettopwindow 函式功能 該函式檢查與特定父視窗相聯的子視窗z序 z序 垂直螢幕的方向,即疊放次序 並返回在z序頂部的子視窗的控制代碼。函式原型 hwn...
獲取視窗的控制代碼方法總結
控制代碼獲取方法 獲取該視窗的控制代碼後,即可向該視窗類類傳送訊息 處理程式 例如 postmessage 控制代碼 wm user drawviewpic eds,0,0 0。獲取所在類視窗的控制代碼 this m hwnd 1。主視窗的控制代碼 無論在主視窗類內,還是子視窗類內,獲取主視窗控制代...
c 獲取視窗控制代碼的方法
findwindow 函式原型 hwnd findwindow lpcstr lpclassname,lpcstr lpwindowname findwindow這個函式檢索處理頂級視窗的類名和視窗名稱匹配指定的字串。這個函式不搜尋子視窗。lpclassname引數指向類名,lpwindowname...