在VB中如何使用API函数获得一个外部程序的对话框的句柄
一个运行中的外部程序,在间隔一定时间对其没有任务操作时,其会自动弹出一个锁定的对话框将原程序锁定。
我通过FindWindow函数可以找到这个外部程序的主窗体的窗口句柄,但怎么通过FindWindowEx函数找不到锁定窗体的窗口句柄呢?
程序如下:
MyHwnd = FindWindow("ThunderRT6FormDC", "管理器")'注:"管理器"为外部程序的标题,类名为"ThunderRT6FormDC"
Debug.Print MyHwnd'(这时值为&H1060A)
SubHwnd =FindWindowEx(MyHwnd, 0, "#32770", vbNullString)'注:"#32770"为锁定窗体的类
Debug.Print MyHwnd'(这时值为&H0)
不知上面的程序段哪里还有什么问题?或者还有其他的实现方法,谢谢大家指教!
(注:我用SPY++可以找到这个外部程序的句柄为&H1060A,锁定对话框的句柄为&HA00BC,并且可以在SPY++的窗口中看到该锁定窗口的父窗口句柄、标题和所有者窗口句柄、标题都是分别为&H1060A、"管理器")
我通过FindWindow函数可以找到这个外部程序的主窗体的窗口句柄,但怎么通过FindWindowEx函数找不到锁定窗体的窗口句柄呢?
程序如下:
MyHwnd = FindWindow("ThunderRT6FormDC", "管理器")'注:"管理器"为外部程序的标题,类名为"ThunderRT6FormDC"
Debug.Print MyHwnd'(这时值为&H1060A)
SubHwnd =FindWindowEx(MyHwnd, 0, "#32770", vbNullString)'注:"#32770"为锁定窗体的类
Debug.Print MyHwnd'(这时值为&H0)
不知上面的程序段哪里还有什么问题?或者还有其他的实现方法,谢谢大家指教!
(注:我用SPY++可以找到这个外部程序的句柄为&H1060A,锁定对话框的句柄为&HA00BC,并且可以在SPY++的窗口中看到该锁定窗口的父窗口句柄、标题和所有者窗口句柄、标题都是分别为&H1060A、"管理器")
...全文
相关推荐
VB_API函数参考手册
三、API函数的参数详解API函数的参数通常包括输入(ByVal)、输出(ByRef)和无方向(ByVal或ByRef)三种。有些参数可能需要使用句柄(如`hwnd`),这通常是操作系统对象的标识符。
VB 获取外部程序 ListView 控件数据详解
本文还有配套的精品资源,点击获取 简介:在 VB 中,获取外部程序 ListView 控件数据是自动化测试、数据抓取和集成开发中的常见需求。本教程将深入讲解如何使用 Windows API 和 VB 技巧实现这一功能。通过识别目标控件、使用 SendMessage 和 SendInput 函数获取数据,以及处理和分析数据,你将掌握从外部程序 ListView 中提取信息的完...
vb-EnumChildWindows所有窗口及子窗口句柄
使用`Declare`语句引入API函数。3. 定义回调函数以处理每个枚举到的子窗口。4. `EnumWindowProc`委托类型定义回调函数签名。5.
vb 获取任意程序窗体句柄
在VB中调用API函数通常需要声明函数原型和使用`Declare`语句,例如:```vb Declare Function FindWindow Lib "user32" Alias "FindWindowA
vb获取窗体上的控件句柄
**API函数的使用**:`FindWindow`函数用于查找指定类名和窗口标题的顶级窗口的句柄。`GetDlgItem`函数则用于获取对话框中的控件句柄,需要传入对话框的句柄和控件的ID。


VB基础类
