VB 显示最前端程序名称

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:33:27
怎么可以一直显示处在最前端也就是焦点程序的名称。。。
或判断某程序是否在最前端。。。

api
GetFocus获得拥有输入焦点的窗口的句柄
GetForegroundWindow获得前台窗口的句柄

如何编制一个能自动查找程序窗口标题名称的程序是本文要解决的问题。

我们可以采取如下办法,来获取正在系统运行的窗口标题。

在WindowsAPI中有一个函数:

Get Windows (ByVal hWnd As Long ,ByVal wCmd As Long) As Long

其中,hWnd是当前窗口句柄,wCmd是与hWnd有联系的常量,其含义如下:

wCmd值
含义

GW-GHILD
第一个子窗口

GW-HWNDFIRST
子窗口的第一兄弟窗口,其第一个顶层窗口

GW-HWNDLAST
子窗口的最后一个兄弟窗口,或最后一个顶层窗口

GW-HWNDNEXT
后继窗口

GW-HWNDPRCV
先前窗口

GW-OWNER
窗口拥有者

此函数返回值是wCmd所指的窗口的句柄。

我们利用此句柄 ,再用函数Get WindowsText (ByVal hWnd As Long ,ByVal Ipstring As String, ByVal cch As Long) As Long,将句柄hWnd指定的窗口标题放入一个字符串变量Ipstring中,cch是指放入Ipstring中的最大字符数。此函数成功时返回字符串长度,如果窗口无标题则返回零。

在使用Get WindowsText函数前,还要先用函数Get WindowsTextLength (ByVal hWnd As Lon