
编程语言调用格式: 〈文本型〉 取窗口标题 (整数型 窗口句柄) - 应用接口支持库->窗口 *** 作 英文名称:GetWindowText 取指定窗口的标题。成功返回窗口标题,失败返回空。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowText Lib "user32dll" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32dll" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long
Function 查找窗口句柄(窗口类名,窗口标题)
If Cstr(窗口类名) = "0" Then
查找窗口句柄 = FindWindow(vbNullString, Cstr(窗口标题))
ElseIf Cstr(窗口标题) = "0" Then
查找窗口句柄 = FindWindow(Cstr(窗口类名), vbNullString)
Else
查找窗口句柄 = FindWindow(Cstr(窗口类名), Cstr(窗口标题))
End If
End Function
'示例:根据类名查找句柄:hwnd = 查找窗口句柄("TXGuifoundation",0)
'根据窗口句柄得到该窗口的标题
Function getCaption(hWnd As Long)
Dim hWndlength As Long, hWndTitle As String, A As Long
hWndlength = GetWindowTextLength(hWnd)
hWndTitle = String$(hWndlength, 0)
A = GetWindowText(hWnd, hWndTitle, (hWndlength + 1))
getCaption = hWndTitle
End Function
他们都好麻烦!你只是需要获取窗体名字而已是吧?很简单'在模块中添加下面的API函数Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 然后在FORM1窗体添加个command按钮和label标签Private Sub Command1_Click()
Dim 窗口句柄 As Long
窗口句柄 = FindWindow(vbNullString, "窗口标题")
Label1Caption = 窗口句柄
End Sub 这样就行咯这样就可以获取到了
当前窗口有一个(多个)数据窗口,只是想得到当前的数据窗口(得到焦点的数据窗口)可以用如下办法:
1、先在窗口里里面声明一个实例变量: datawindow idw_cur
2、如果窗口里面有三个数据窗口,分别在三个数据窗口的getfocus事件里面都写上同样的代码 idw_cur=this
3、这样的话通过idw_cur就可以得到当前的数据窗口了,通过ClassName(idw_cur)就可以得到它的数据窗口名字了。
例,获取数据库窗口DW_1的所有列名称,字符串数组ls_colname接收名称。
long ll_colcountstring ls_colname[]
int i
ll_colcount = Integer(dw_1Describe("DataWindowcolumncount"))//取DW的列总数
for i = 1 to ll_colcount
ls_colname[i] = dw_1Describe("#"+string(i)+"name")
next
以上就是关于易语言如何获取进程下的窗口名称列表全部的内容,包括:易语言如何获取进程下的窗口名称列表、vb已知窗体类名,获取窗体名称、vb 实现获得窗体名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)