比如我同时打开了两个记事本,如何分别获得这两个窗体的句柄?
解决方案 »
- SQL语句insert into pp(H,S) select H,avg(A) as S from ct group by H,如何得到各组的记录个数呢?
- 新手提问:关于vb的菜单条控制问题?
- ActiveReport2中,不同纸张中可能会出现一页中最后一行表格不能对齐的缺点,如何解决?一定加分。
- 简单问题~~~~~如何打开指定目录下的文件夹?谢谢!
- vb2008 datagridview控件的 合并单元格与拆分单元格 实例
- VB MSCOMM控件读取16进制字串显示乱码问题,急!!!各位大哥,高手,前辈,老鸟们帮帮小弟啊!!!谢谢!!!
- text i .text 可否实现?
- 怎样才能在vb程序中读出本机的ip地址?
- 关于TreeView控件的刷新问题~~~~~~~~~~~~~~~~谢谢
- 如何把数据以TXT文件传输
- microsoft visual basic运行时错1004
- word vba代码复制问题
'寻找指定窗口,Seek_Window返回指定窗口句柄,相关API自己声明!
Public Function Seek_Window(byval hForm As Long,byval FormCaption As String) As Long
Dim RenValue As Long
Dim RenHWND As Long'定义窗口句柄
Dim RetValue As Long'定义成功返回窗口标题文字时之返回值
Dim WindowCaption As String*256
Dim String1 As String,String2 As String
Dim FindNum as integer
On Error Resume Next
Seek_Window=0
RenHWND=GetWindow(hForm,GW_HWNDFIRST)'寻找第一个兄弟(同级)窗口
Do
RetValue=GetWindowText(RenHWND,WindowCaption,256)'取得窗口的标题(Caption)文字
'MsgBox("窗口标题:" & WindowCaption)
If RetValue<>0 Then
String1=Left(WindowCaption,instr(WindowCaption,chr(0))-1)
String2=LCase(FormCaption)'寻找指定窗口标题
If strcomp(String1,String2)=0 Then
FindNum=FindNum+1
debug.print ("找到窗口句柄"& FindNum &":" & RenHWND
Seek_Window=RenHWND
if FindNum>=2 then Exit Function
End If
End If
RenHWND=GetWindow(RenHWND,GW_HWNDNEXT)'继续寻找
Loop Until RenHWND=0
End Function
Option Explicit
'窗体上添加一个命令按钮Command1,一个列表框List1
Private Sub Command1_Click()
EnumWindows AddressOf EnumWindowsProc, ByVal 0&
End Sub'标准模块
Option ExplicitPublic Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
Dim windowCaption As String, LengthCaption As Long
LengthCaption = GetWindowTextLength(hwnd)
windowCaption = Space(LengthCaption)
Call GetWindowText(hwnd, windowCaption, LengthCaption + 1)
Form1.List1.AddItem Str$(hwnd) + " " + windowCaption
EnumWindowsProc = True
End Function