文章編號(hào):10652時(shí)間:2024-09-28人氣:
FindWindow 函數(shù)在 Windows 應(yīng)用程序中查找具有指定類名和窗口標(biāo)題的窗口。
HWND FindWindow(LPCTSTR lpClassName, // 窗口類的名稱LPCTSTR lpWindowName // 窗口的標(biāo)題 );
如果函數(shù)成功,它將返回窗口的句柄。如果函數(shù)失敗,它將返回 NULL。
HWND hwnd = FindWindow("Notepad", NULL);
上面的示例查找一個(gè)名為 "Notepad" 的窗口。如果找到該窗口,則 hwnd 將包含窗口的句柄。否則,hwnd 將為 NULL。
?Declare Function FindWindow Lib user32 Alias FindWindowA (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 這個(gè)函數(shù)有兩個(gè)參數(shù),第一個(gè)是要找的窗口的類,第二個(gè)是要找的窗口的標(biāo)題。 在搜索的時(shí)候不一定兩者都知道,但至少要知道其中的一個(gè)。 有的窗口的標(biāo)題是比較容易得到的,如計(jì)算器,所以搜索時(shí)應(yīng)使用標(biāo)題進(jìn)行搜索。 但有的軟件的標(biāo)題不是固定的,如記事本,如果打開的文件不同,窗口標(biāo)題也不同,這時(shí)使用窗口類搜索就比較方便。 如果找到了滿足條件的窗口,這個(gè)函數(shù)返回該窗口的句柄,否則返回0。 前面提到的VB的FindWindow()函數(shù)的聲明將兩個(gè)參數(shù)都定義為String類型,而在實(shí)際使用過程中,如果我們忽略某個(gè)參數(shù)就將該參數(shù)的定義又As String改為As Any。 這里的As Any相當(dāng)于C語言中的強(qiáng)制類型轉(zhuǎn)換。 例如,如果我們忽略窗口的類,就將定義修改如下: Declare Function FindWindow Lib user32 Alias FindWindowA (ByVal lpClassName As Any, ByVal lpWindowName As String) As Long然后,在調(diào)用時(shí)使用如下語句: hwndCalc = FindWindow(0&, 計(jì)算器)這里的0&就表示忽略類名。 需要注意的是FindWindow(0&, 計(jì)算器)和FindWindow(, 計(jì)算器)有兩種完全不同的含義,前者表示忽略窗口的類,而后者表示窗口的類是個(gè)空串。 類似的,我們也可以忽略標(biāo)題而搜索指定的類。 從上面的討論中可以看出,如果要搜索的外部程序的窗口標(biāo)題比較容易得到,問題是比較簡單的。 可如果窗口的標(biāo)題不固定或者根本就沒有標(biāo)題,怎么得到窗口的類呢?如果你安裝了Visual C++,你可以使用其中的Spy++(如果沒有VC++,在VB的盤上也可以找到Spy),在Spy++中有一個(gè)FindWindow工具,它允許你使用鼠標(biāo)選擇窗口,然后Spy++會(huì)顯示這個(gè)窗口的類。 在Win32 API中還有一個(gè)FindWindowEx,它非常適合尋找子窗口。 用法示例Option Explicit private Declare Function FindWindow Lib user32 Alias FindWindowA ( _ByVal lpClassName As String, _ByVal lpWindowName As String) As Long Private Declare Function PostMessage Lib user32 Alias PostMessageA ( _ByVal hWnd As Long, _ByVal wMsg As Long, _ByVal wParam As Long, lParam As Any) As LongPrivate Declare Function GetClassName Lib user32 Alias GetClassNameA ( _ByVal hWnd As Long, _ByVal lpClassName As String, _ByVal nMaxCount As Long) As LongPrivate Declare Function ShowWindow Lib user32 ( _ByVal hWnd As Long, _ByVal nCmdShow As Long) As LongConst SW_SHOWNORMAL = 1Const WM_CLOSE = &H10Public Sub test()Dim hWnd As Long不知道類名hWnd = FindWindow(vbNullString, 計(jì)算器) hWndEnd Sub Public Sub test2()Dim hWnd As Long知道計(jì)算器窗口的類名是: SciCalchWnd = FindWindow(SciCalc, vbNullString) hWndEnd Sub Public Sub Test3() Dim hWnd As LongDim lpClassName As StringDim retVal As LonghWnd = FindWindow(vbNullString, 計(jì)算器)If hWnd = 0 Then MsgBox Couldnt find the window ...: Exit SubShow the windowShowWindow hWnd, SW_SHOWNORMALCreate a bufferlpClassName = Space(256)retrieve the class nameretVal = GetClassName(hWnd, lpClassName, 256)Show the Classname: + Left(lpClassName, retVal)Post a message to the window to close itPostMessage hWnd, WM_CLOSE, 0&, 0& ? MySQL 的 find_in_set函數(shù)使用方法很多時(shí)候我們?cè)谠O(shè)計(jì)數(shù)據(jù)庫時(shí)有這種情況,比如:有個(gè)文章表里面有個(gè)type字段,他存儲(chǔ)的是文章類型,有 1頭條,2推薦,3熱點(diǎn),4圖文 .....11,12,13等等現(xiàn)在有篇文章他既是 頭條,又是熱點(diǎn),還是圖文,type中以 1,3,4的格式存儲(chǔ).那們我們?nèi)绾斡胹ql查找所有type中有4圖文標(biāo)準(zhǔn)的文章呢,這就要我們的find_in_set出馬的時(shí)候到了.先看mysql手冊(cè)中find_in_set函數(shù)的語法:FIND_IN_SET(str,strlist)假如字符串str 在由N 子鏈組成的字符串列表strlist 中,則返回值的范圍在 1 到 N 之間。 一個(gè)字符串列表就是一個(gè)由一些被‘,’符號(hào)分開的自鏈組成的字符串。 如果第一個(gè)參數(shù)是一個(gè)常數(shù)字符串,而第二個(gè)是type SET列,則 FIND_IN_SET() 函數(shù)被優(yōu)化,使用比特計(jì)算。 如果str不在strlist 或strlist 為空字符串,則返回值為 0 。 如任意一個(gè)參數(shù)為NULL,則返回值為 NULL。 這個(gè)函數(shù)在第一個(gè)參數(shù)包含一個(gè)逗號(hào)(‘,’)時(shí)將無法正常運(yùn)行。 mysql> SELECT FIND_IN_SET(b,a,b,c,d);-> 2用起來很簡單就以上面我說到的情況來舉例:以下為引用的內(nèi)容:select * from article where FIND_IN_SET(4,type)
CWnd*phwnd=FindWindow(CFindWindowFunDlg,NULL);前面是類名,后面窗口名。 或者用spy++確認(rèn)一下類名是否正確。
FindWindowEx說明在窗口列表中尋找與指定條件相符的第一個(gè)子窗口返回值Long,找到的窗口的句柄。 如未找到相符窗口,則返回零。 會(huì)設(shè)置GetLastError參數(shù)表參數(shù)類型及說明hWnd1Long,在其中查找子的父窗口。 如設(shè)為零,表示使用桌面窗口(通常說的頂級(jí)窗口都被認(rèn)為是桌面的子窗口,所以也會(huì)對(duì)它們進(jìn)行查找)hWnd2Long,從這個(gè)窗口后開始查找。 這樣便可利用對(duì)FindWindowEx的多次調(diào)用找到符合條件的所有子窗口。 如設(shè)為零,表示從第一個(gè)子窗口開始搜索lpsz1String,欲搜索的類名。 零表示忽略lpsz2String,欲搜索的類名。 零表示忽略
解決方法:在調(diào)用FindWindow函數(shù)的時(shí)候,應(yīng)該第一個(gè)參數(shù)為空,第二個(gè)參數(shù)為窗口的標(biāo)題名。 classname是窗口在創(chuàng)建時(shí)的注冊(cè)名稱,不是源代碼的類名,通常可以不指定,除非確切地知道。 另外,vc自帶一個(gè)spy++的工具,可以探查當(dāng)前所有窗口的信息,包括注冊(cè)類名。 FindWindow這個(gè)函數(shù)檢索處理頂級(jí)窗口的類名和窗口名稱匹配指定的字符串。 這個(gè)函數(shù)有兩個(gè)參數(shù),第一個(gè)是要找的窗口的類,第二個(gè)是要找的窗口的標(biāo)題。 在搜索的時(shí)候不一定兩者都知道,但至少要知道其中的一個(gè)。
第一步執(zhí)行EnumWindowsProc API函數(shù)第二步,在EnumWindowsProc的回調(diào)函數(shù)里執(zhí)行GetWindowThreadProcessId API函數(shù)獲得Window句柄對(duì)應(yīng)的ProcessID然后判斷ProcessID是否和這個(gè)游戲的ProcessID一致,就可以拿到窗體句柄了
內(nèi)容聲明:
1、本站收錄的內(nèi)容來源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請(qǐng)聯(lián)系我們進(jìn)行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請(qǐng)聯(lián)系我們進(jìn)行舉報(bào)處理!
4、本文地址:http://m.hudongshop.com/article/604ac2f4f06729142ec5.html,復(fù)制請(qǐng)保留版權(quán)鏈接!
Wireshark是一款強(qiáng)大的網(wǎng)絡(luò)協(xié)議分析器,可用于識(shí)別和應(yīng)對(duì)網(wǎng)絡(luò)攻擊,通過捕獲和分析網(wǎng)絡(luò)流量,Wireshark可以提供對(duì)網(wǎng)絡(luò)活動(dòng)全面的可視性,使安全分析師能夠識(shí)別異常模式、檢測(cè)惡意流量并追蹤網(wǎng)絡(luò)攻擊,使用Wireshark捕獲數(shù)據(jù)包為了使用Wireshark分析網(wǎng)絡(luò)流量,您需要先捕獲數(shù)據(jù)包,以下是捕獲數(shù)據(jù)包的步驟,打開Wiresh...。
本站公告 2024-09-27 06:53:01
Linux是一個(gè)強(qiáng)大的開源操作系統(tǒng),被廣泛用于服務(wù)器、個(gè)人電腦和嵌入式系統(tǒng),要充分利用Linux的功能,了解其命令行和文件系統(tǒng)至關(guān)重要,本指南將為您提供一系列視頻教程,這些教程將一步一步地指導(dǎo)您了解Linux的基礎(chǔ)知識(shí),這些教程適合所有技能水平的初學(xué)者,并且涵蓋了各種主題,從基本命令到高級(jí)文件系統(tǒng)管理,視頻教程命令行基礎(chǔ)Linux命令...。
本站公告 2024-09-23 11:40:12
簡介CORS,跨域資源共享,是一種機(jī)制,它允許不同域的網(wǎng)站在特定條件下交換資源,在默認(rèn)情況下,瀏覽器出于安全考慮會(huì)限制跨域請(qǐng)求,以防止惡意網(wǎng)站竊取敏感數(shù)據(jù),如何啟用CORS要啟用CORS,需要在服務(wù)器端進(jìn)行配置,服務(wù)器需要發(fā)送HTTP響應(yīng)頭,指示瀏覽器可以從特定來源訪問資源,響應(yīng)頭以下響應(yīng)頭用于啟用CORS,`Access,Contr...。
最新資訊 2024-09-16 04:13:33
由業(yè)內(nèi)專家創(chuàng)建,經(jīng)過數(shù)小時(shí)的深入講解什么是JavaScript,JavaScript是一種高級(jí)編程語言,用于創(chuàng)建動(dòng)態(tài)、可交互的網(wǎng)頁,它是一種客戶端腳本語言,這意味著它在用戶的瀏覽器中執(zhí)行,而不是在服務(wù)器端,JavaScript用于以下目的,驗(yàn)證表單輸入創(chuàng)建交互式元素,例如下拉菜單和滑塊在頁面上加載和處理數(shù)據(jù)創(chuàng)建動(dòng)畫和游戲JavaScr...。
最新資訊 2024-09-16 02:47:14
歡迎來到JavaScript編程的奇妙世界!我們?cè)谶@里為您提供一系列精心挑選的視頻教程,旨在幫助您快速有效地掌握這門必不可少的編程語言,什么是JavaScript,JavaScript,JS,是一種廣泛用于Web開發(fā)的腳本語言,它是一種基于文本的語言,允許您為Web頁面添加交互性和動(dòng)態(tài)行為,從驗(yàn)證表單到創(chuàng)建交互式用戶界面,JavaSc...。
本站公告 2024-09-16 02:35:20
引言您的博客模板是您網(wǎng)站的第一印象,它可以決定訪問者是否會(huì)繼續(xù)閱讀您的文章并探索您的網(wǎng)站,選擇正確的模板對(duì)于創(chuàng)建一個(gè)引人入勝且專業(yè)的網(wǎng)站來說至關(guān)重要,選擇博客模板時(shí)需要注意的因素在選擇博客模板之前,請(qǐng)考慮以下因素,1.目標(biāo)受眾誰是您目標(biāo)受眾,他們的興趣和偏好是什么,選擇一個(gè)與他們的品味和風(fēng)格相匹配的模板,2.博客內(nèi)容您博客的內(nèi)容是什么...。
本站公告 2024-09-14 23:56:39
概述文件上傳是Web開發(fā)中一項(xiàng)必不可少的任務(wù),它使我們能夠從用戶接收文件并將其存儲(chǔ)在服務(wù)器上,PHP提供了強(qiáng)大的功能來處理文件上傳,從基本的表單處理到高級(jí)的進(jìn)度跟蹤和錯(cuò)誤處理,基礎(chǔ)知識(shí)要啟用文件上傳,我們需要在HTML表單中使用`enctype=multipart,form,data`屬性,這將指示瀏覽器將表單數(shù)據(jù)作為多部分?jǐn)?shù)據(jù)發(fā)送,...。
技術(shù)教程 2024-09-08 19:23:57
JavaScript作為一門強(qiáng)大的編程語言,廣泛應(yīng)用于Web開發(fā)、移動(dòng)應(yīng)用程序開發(fā)和游戲開發(fā)等領(lǐng)域,要精通JavaScript,需要深入理解其基礎(chǔ)和高級(jí)功能,JavaScript基礎(chǔ)變量和數(shù)據(jù)類型變量用于存儲(chǔ)數(shù)據(jù),數(shù)據(jù)類型決定變量存儲(chǔ)數(shù)據(jù)的類型,JavaScript中的基本數(shù)據(jù)類型包括,字符串、數(shù)字、布爾值和null,undefine...。
本站公告 2024-09-07 15:30:26
JavaScriptreplace,方法是用于在字符串中搜索并替換特定子字符串的強(qiáng)大工具,它可以幫助您修改字符串內(nèi)容、更正錯(cuò)誤或執(zhí)行其他文本操作,語法replace,方法的語法如下,```string.replace,searchValue,replaceValue,```其中,string是要替換的字符串,searchValue...。
本站公告 2024-09-06 22:38:08
引言織夢(mèng)仿站是一種通過模仿其他網(wǎng)站的功能和設(shè)計(jì)來創(chuàng)建新網(wǎng)站的技術(shù),通過遵循業(yè)界最佳實(shí)踐,仿站開發(fā)者可以創(chuàng)建可靠且有效的網(wǎng)站,遵守網(wǎng)頁標(biāo)準(zhǔn)使用有效的HTML和CSS代碼,遵循網(wǎng)絡(luò)無障礙指南,WCAG,2.0,確保所有用戶都可以訪問網(wǎng)站,使用響應(yīng)式設(shè)計(jì),讓網(wǎng)站在各種設(shè)備上都能正常顯示,優(yōu)化網(wǎng)站加載速度,以提高用戶體驗(yàn),確保安全性使用安全套...。
互聯(lián)網(wǎng)資訊 2024-09-06 07:57:43
Photoshop是一款非常強(qiáng)大的圖像處理軟件,它可以幫助我們完成各種各樣的圖像處理任務(wù),但是對(duì)于初學(xué)者來說,可能會(huì)覺得Photoshop非常復(fù)雜,不知道從何入手,本篇文章將為大家提供一份從零開始學(xué)習(xí)Photoshop的基礎(chǔ)知識(shí)的教程,希望能夠幫助大家快速入門,第一章,Photoshop的基礎(chǔ)知識(shí)在使用Photoshop之前,我們需要...。
技術(shù)教程 2024-09-02 01:58:17
蘋果手機(jī)發(fā)燙的原因及解決辦法一、發(fā)燙原因,1.高負(fù)荷運(yùn)行,長時(shí)間使用高耗能應(yīng)用如游戲、視頻編輯等,導(dǎo)致手機(jī)處理器高負(fù)荷工作,產(chǎn)生大量熱量,2.環(huán)境氣溫過高,在高溫環(huán)境下使用手機(jī),散熱效果會(huì)受到影響,導(dǎo)致手機(jī)溫度升高,3.不當(dāng)使用習(xí)慣,如手機(jī)被外部覆蓋物遮擋,影響散熱,或在充電時(shí)同時(shí)使用手機(jī)等,二、解決辦法,1.降低負(fù)荷,減少長時(shí)間高負(fù)...。
技術(shù)教程 2024-09-02 01:29:37