如何在 VB6 中获得当前窗口/窗体的 hWnd?
问问题
21169 次
3 回答
16
如果您在表格上: Me.hWnd
。如果您不知道当前表单是哪个表单: Screen.ActiveForm.hWnd
于 2010-02-15T14:29:04.873 回答
9
使用 Windows API,GetForegroundWindow()
无论它来自哪个应用程序,都将获取最顶层窗口的句柄,并将获取应用程序的活动窗口GetActiveWindow()
的句柄。您将需要的声明:Declare
Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Declare Function GetActiveWindow Lib "user32.dll" () As Long
调用任一函数都将返回一个如上所述的窗口句柄。
于 2010-02-15T14:34:36.217 回答
3
很久没用VB6了,我记得是这样的:
您需要打开 API 查看器,它应该位于 VB6 条目周围的开始菜单中。当您打开它时,您要选择 win32api.txt,您将获得所有 Win32 API 函数的列表。这是不弄乱函数签名的最简单方法。将函数声明复制并粘贴到您的 VB6 模块之一中。
我总是“作弊”,只是通过标题名称查找我的窗口,而不是使用 GetWindow 遍历所有可用的窗口。如果您对此没意见,您想使用 FindWindow 并将标题名称作为第二个参数传递。
于 2010-02-15T14:24:32.677 回答