1. 程式人生 > >如何查詢窗體,獲取窗體的控制代碼,Hwnd FindWindow函式

如何查詢窗體,獲取窗體的控制代碼,Hwnd FindWindow函式

/*CWnd::FindWindow


static CWnd* PASCAL FindWindow( LPCTSTR lpszClassName, LPCTSTRlpszWindowNa- me );


返回值:
標識了具有指定的類名或視窗名的視窗。如果沒有找到這樣的視窗,則返回NULL。
返回的CWnd*值可能是臨時的,不能被儲存以供將來使用。


引數: lpszClassName 指向一個以null結尾的字串,指定了視窗類(一個WNDCLASS結構)的名字。如果lpClassName為NULL,則所有的類名都匹配。  
lpszWindowName 指向一個以null結尾的字串,指定了視窗的名字(視窗的標題)。如果lpWindowName為NULL,所有的視窗名都匹配。  


說明:
返回頂層的CWnd,其視窗類是由lpszClassName,其視窗名或標題是lpszWindowName給定的。這個函式不搜尋子視窗。
     */
    CString  str = _T("test"); //要查詢的窗體名稱
//_AFXWIN_INLINE CWnd* PASCAL CWnd::FindWindow(LPCTSTR lpszClassName, LPCTSTR lpszWindowName){...}
CWnd *pWnd = FindWindow(NULL, str);
if (pWnd->m_hWnd != NULL)
{
pWnd->SetWindowText(_T("我找到TEST窗體了!"));  //控制代碼得到了,可以幹你想幹的事情了。
}

相關推薦

如何查詢窗體獲取窗體控制Hwnd FindWindow函式

/*CWnd::FindWindowstatic CWnd* PASCAL FindWindow( LPCTSTR lpszClassName, LPCTSTRlpszWindowNa- me );返回值:標識了具有指定的類名或視窗名的視窗。如果沒有找到這樣的視窗,則返回N

MFC 獲取當前視窗控制或者父子視窗控制

父子視窗 在子視窗中,需要用到父視窗的控制代碼: AfxGetMainWnd()->m_hWnd 注:在父視窗中,也可以這麼用來呼叫自己視窗的控制代碼 在子視窗中,需要用到自己視窗的控制代碼 ChildDlg *pChildDlg ; pChildDlg->m_h

獲取ArcMap視窗控制通過WinAPI獲取工作空間中點選要素的系統桌面座標

這裡用了個“桌面座標”,是希望區分一下ArcGis的“螢幕座標”(與之對應的還有一個“地理座標”)。 什麼是“螢幕座標”呢?使用ITool介面的OnMouseDown方法獲取的“x,y”值即是,其原點值在“工作空間”窗體左上角。 什麼是我所稱謂的“工作空間”呢?它是資料編輯區域,用Spy++檢視一下其窗體

在java程式中如何能獲取到另一個程式的windows控制又如何使用這個控制向這個視窗傳送訊息

import com.sun.jna.Native; import com.sun.jna.Pointer; import com.sun.jna.platform.win32.WinDef.HWND; import com.sun.jna.platform.win32.W

根據檔案控制獲取檔名(轉載)

#include <windows.h>#include <stdio.h>#include <tchar.h>#include <string.h>#include <psapi.h>#define BUFSIZE

按鍵精靈 -獲取視窗控制

MessageBox "視窗右下角座標:" get_window_pos //得到當前最前面的視窗控制代碼-就是把需要的視窗啟用在最前面 Hwnd = Plugin.Window.Foreground() //得到滑鼠指向的視窗控制代碼Hwnd = Plugin.Window.Mo

C# 呼叫win32API 獲取程序控制 有毛用???

private void button2_Click(object sender, EventArgs e) { Process[] ProceddingCon = Process.GetProcesses(); //獲得所有程序 Int

【2018.05.11】python3.6+selenium 多視窗控制切換

#coding = utf-8 ''' 多視窗控制代碼 獲取 切換 ''' from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://home.zhiyoo.com/") d

根據程序ID 獲取視窗控制

 using namespace System;using namespace System::Diagnostics;using namespace System::ComponentModel; Process *m_pCurProcess = Process::GetProcessById(

Selenium:多視窗切換(獲取視窗控制handle)

我們在操作網頁的時候,點選有些頁面的連結,會重新開啟一個視窗,我們要在新頁面上操作,就得切換視窗 比如在百度首頁的登入框點選註冊,會重新開啟一個註冊的新頁面,要在新頁面註冊,就得先切進新頁面 那我們怎麼在這兩個視窗之間進行切換呢?每個瀏覽器視窗都有一個唯一的屬性控制代碼(handle)來表示,我們就可

建立執行緒後為什麼關閉了執行緒控制執行緒還是可以執行?

主執行緒只要擁有執行緒控制代碼,事後就可以對執行緒執行某些操作,比如查詢執行緒狀態等等,靠的就是控制代碼,如果沒有控制代碼,系統就無從知道要查的是那個執行緒的狀態。但保持這個控制代碼不關閉,並不是執行緒執行的條件。       &nbs

C++通過程序名獲取程序控制

記錄下一段,比較常用的程式碼。 // 強殺定期刪除程序 void CDogThread::Quit() { // 結束強殺定期刪除程序 HANDLE hProcess = GetProcessHa

MFC獲取視窗控制的方法

AfxGetMainWnd AfxGetMainWnd獲取自身視窗控制代碼 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函式功能:該函式檢查與特定父視窗相聯的子視窗z序(Z序:垂直螢幕的方向,即疊放次序),並返回

[WinAPI] 獲取視窗控制的幾種方法

1、使用FindWindow函式獲取視窗控制代碼 示例:使用FindWindow函式獲取視窗控制代碼,然後獲得視窗大小,並且移動視窗到指定位置。 我們想獲得酷我音樂盒的視窗控制代碼並移動它,該怎麼辦呢? 首先開啟VC或者VS裡面tool中的SPY++點選查詢視

VC中獲取視窗控制的各種方法

AfxGetMainWnd獲取自身視窗控制代碼 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函式功能:該函式檢查與特定父視窗相聯的子視窗z序(Z序:垂直螢幕的方向,即疊放次序),並返回在z序頂部的子視窗的控制代碼。 函式原型:HWND GetTop

運維繫統發現報錯開啟檔案控制數太多解決方案

在Linux中檢視日誌時,發現有Can’t open so many files資訊。應該是虛擬機器開啟檔案數或者sockets數太多了。 在Linux下,我們使用ulimit -n命令可以看到單個程序能夠開啟的最大檔案控制代碼數量(socket連線也算在裡面)。系統預設值

獲取控制檯視窗的控制hWnd

作者:Defanive 部落格:Console.Dec.Cn(Hi.Baidu.Com/Console_App) ——————— 【 謝謝合作 】 ——————— 測試環境:VC++ 6.0 視窗,都有其唯一的控制代碼(hWnd)。得到了視窗控制代碼,能夠做很多事情。控制

FastReport呼叫程序控制設定視窗置頂

應用場景 在使用第三方列印外掛,FastReport時,選擇列印xps,點選列印,彈出檔案另存為對話方塊,但是此對話方塊不會出現在軟體的最前面,而且會一直佔用程序,點選軟體介面出現假死情況。 解決方案 思路1.設定關閉列印進度視窗,此視窗會一直置頂,而且取消按鈕失效2.列印

AutoIt3 使用程序名獲取視窗控制

背景 需要用AutoIt3控制QQ音樂播放器,首先要獲取QQ音樂的視窗控制代碼 問題 WinGetHandle方法不能滿足要求 QQ音樂的Title會根據當前播放的歌曲動態改變

幾個獲取視窗控制函式

AfxGetMainWnd AfxGetMainWnd獲取自身視窗控制代碼 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函式功能:該函式檢查與特定父視窗相聯的子視窗z序(Z序:垂直螢幕的方向,即疊放次序),並返回在z序頂部的子視窗的控制代碼。 函式