FindWindowEx
成都創(chuàng)新互聯(lián)公司專注于南湖網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供南湖營銷型網(wǎng)站建設(shè),南湖網(wǎng)站制作、南湖網(wǎng)頁設(shè)計、南湖網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造南湖網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供南湖網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
VB聲明
Declare Function FindWindowEx Lib "user32" Alias
"FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As
String, ByVal lpsz2 As String) As Long
說明
在窗口列表中尋找與指定條件相符的第一個子窗口
返回值渣州
Long,找到的窗口的句柄。如未找到相符窗口,則返回零。會設(shè)置GetLastError
參數(shù)表
參數(shù)
類型及說明
hWnd1
Long,在其中查找子的父窗口。如設(shè)為零,表示使用桌面窗口(通常說的頂級窗口都被認(rèn)為是桌如纖蔽面的子窗口,所以也會對它們進(jìn)行查找)
hWnd2
Long,從這個窗口后開始查找。這樣便可利用對FindWindowEx的多次調(diào)用找到符合條件的所有子窗口。如設(shè)為零,表示從第一個子窗口開始搜索
lpsz1
String,欲搜索的類名。零表示忽略
lpsz2
String,欲搜索的豎磨類名。零表示忽略
關(guān)于進(jìn)仿游程的問題你問了多次吧,為何不正液多看看Process
Dim p As Process() = Process.GetProcessesByName("qq")
If p.Count = 1 Then
Dim p1 As Process = p(0)
Dim m = p1.Modules '進(jìn)程的所有模備清銷塊。
End If
Dim p As Process = Process.GetProcessById(Pid)‘通過pid取進(jìn)程。
使用ShowWindow函數(shù),便可輕松控制窗口的顯隱,最小化,最大化。
概述
函數(shù)功能:該函數(shù)設(shè)置早蘆指定窗口的顯示狀態(tài)。
函數(shù)原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);
*/第一個參數(shù)為句柄,第二個參數(shù)選下面的值
#define SW_HIDE 0
#define SW_SHOWNORMAL 1
#define SW_NORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_SHOWMAXIMIZED 3
#define SW_MAXIMIZE 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11
參數(shù)含義
hWnd:指窗口句柄。
nCmdShow:指定窗口如何顯示。如果發(fā)送應(yīng)用程序的程序提供了STARTUPINFO結(jié)構(gòu),則應(yīng)用程序第一次調(diào)用ShowWindow時該參數(shù)被忽略。否則,在第一次調(diào)用ShowWindow函數(shù)時,該值應(yīng)為在函數(shù)WinMain中nCmdShow參數(shù)。在隨后的調(diào)用中,該參數(shù)可以為下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使擁有窗口的線程被掛起也會最小化。在從其他線程最小化窗口時才使用這個參數(shù)。
SW_HIDE:隱藏窗口并激活其他窗口。
SW_MAXIMIZE:最大化指耐悔定的窗口。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一個頂層窗口。
SW_RESTORE:激活并顯示窗口。如果窗口最小化或最大化,則系統(tǒng)將窗口恢復(fù)到原來的尺寸和位置。在恢復(fù)最小化窗口時,應(yīng)用程序應(yīng)該指定這個標(biāo)志。
SW_SHOW:在窗口原來的位置以原來的尺寸激活和顯示窗口。
SW_SHOWDEFAULT:依據(jù)在STARTUPINFO結(jié)構(gòu)中指定的SW_FLAG標(biāo)志設(shè)定顯示狀態(tài),STARTUPINFO 結(jié)構(gòu)是由啟動應(yīng)用程序的程序傳遞給CreateProcess函數(shù)的。
SW_SHOWMAXIMIZED:激活窗口并將其最大化。
SW_SHOWMINIMIZED:激活窗口并將其最小化。
SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然維持激活狀態(tài)。
SW_SHOWNA:以窗口原來的狀態(tài)顯示窗口。激活窗口仍然維持激活狀態(tài)。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和狀態(tài)顯示窗口。激活窗口仍然維持激活狀態(tài)。
SW_SHOWNORMAL:激活并顯示一個窗口。如果窗口被最陸畝帶小化或最大化,系統(tǒng)將其恢復(fù)到原來的尺寸和大小。應(yīng)用程序在第一次顯示窗口的時候應(yīng)該指定此標(biāo)志。
不過順便說一句,SendKeys會偶爾造成指令丟失,不可避免。不管你激活窗口還是最大化窗口或者鎖定都沒辦法完全避免。
''' summary
''' 返回某進(jìn)程PID
''' /summary老汪
''' param name="ProcessName"進(jìn)侍喊仔程名(不帶后綴)/param
''' returns/returns
''' remarks/remarks
Public Function ProcessPidOnly(ByVal ProcessName As String) As String
Dim myProcess As Process() = Process.GetProcessesByName(ProcessName)
Dim pid As String = ""
If myProcess.Length - 1 = 0 Then
pid = myProcess(0).Id
Else
For i As Short = 0 To myProcess.Length - 1
pid = pid myProcess(i).Id ";"滲罩
Next
End If
Return pid
End Function