【问题标题】:Get hWnd of the current window/form in VB6?在 VB6 中获取当前窗口/窗体的 hWnd?
【发布时间】:2011-01-17 00:14:12
【问题描述】:

如何在 VB6 中获取当前窗口/窗体的 hWnd?

【问题讨论】:

    标签: vb6 hwnd


    【解决方案1】:

    如果您在表单上:Me.hWnd。如果不知道当前表单是哪个表单:Screen.ActiveForm.hWnd

    【讨论】:

      【解决方案2】:

      使用 Windows API,GetForegroundWindow() 将获得最顶层窗口的句柄,无论它来自哪个应用程序,GetActiveWindow() 将获得您的应用程序活动窗口的句柄。您需要的 Declare 语句:

      Declare Function GetForegroundWindow Lib "user32.dll" () As Long
      Declare Function GetActiveWindow Lib "user32.dll" () As Long 
      

      调用任一函数都会返回一个如上所述的窗口句柄。

      【讨论】:

        【解决方案3】:

        好久没用VB6了,我记得是这样的:

        您需要打开 API 查看器,它应该位于开始菜单中 VB6 条目周围。当您打开它时,您要选择 win32api.txt,您将获得所有 Win32 API 函数的列表。这是不弄乱函数签名的最简单方法。将函数声明复制并粘贴到您的 VB6 模块之一中。

        我总是“作弊”,只是通过标题名称查找我的窗口,而不是使用 GetWindow 遍历所有可用的窗口。如果你对此没问题,你想使用 FindWindow 并将标题名称作为第二个参数传递。

        【讨论】:

          猜你喜欢
          • 2013-07-13
          • 2013-01-17
          • 2020-02-03
          • 1970-01-01
          • 1970-01-01
          • 2011-08-14
          • 2019-03-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多