当前位置: 首页 > 知识库问答 >
问题:

在另一个程序的窗口中查找按钮的句柄

颛孙航
2023-03-14

我需要一些帮助。我在最后写下了我的问题,并将首先解释我的代码到底应该做什么:

我正在制作一个与其他程序进行通信的程序。我需要我的软件能够点击另一个程序上的按钮,我相信这样做的合适代码是:

SendMessage(hWnd, Msg, wParam, lParam);

具有

Msg = B_Click
wParam = 0;
lParam = 0;

但是,我不知道如何获取hWnd,它是同时运行的另一个程序的特定窗口上的特定按钮的句柄。我在某个地方读到,我可能会做以下事情:

HWND buttonHandle = FindWindowEx(hwndParent, hwndChildAfter, lpszClass, lpszWindow);

哪里:

HWND hwndParent = A handle to the parent window whose child windows are to be searched
HWND hwndChildAfter = if its null child windows are of the parent window are looked through
LPCTSTR lpszClass = (NOT SURE WHAT THIS IS)
LPCTSTR lpszWindow = (NOT SURE WHAT THIS IS)

但是,我对FindWindowEX()函数有一些问题。

问题1:我看到的窗口有各种按钮,那么函数如何知道我看到的是3个按钮中的哪一个?

问题2:lpszClass和lpszWindow变量是什么?如何获取它们?

问题3:这是正确的方法吗?如果不是,请给我指出正确的方向!

共有1个答案

潘泰
2023-03-14

您不需要按钮的句柄,您需要其父窗口的句柄。该按钮将BN\u CLICKED发送到其父窗口。用spy查找按钮的ID。然后使用父窗口的EnumChildWindow查看所有子窗口。对于每个子级,使用带有GWL\U ID的GetWindowLong检查其ID。

 类似资料:
  • 我试图让我的程序单击另一个程序的按钮。我遇到的问题是识别按钮的手柄。这是我目前掌握的代码: 到目前为止,我找到了程序父窗口的句柄。使用该句柄,我使用EnumChildWindows函数遍历每个子窗口。。。在其中一个子窗口中,我将有一个包含3个按钮的窗口,其中1个是我要按下的按钮。在回调函数中,我需要放置GetWindowLongPtr()函数来获取我要查找的窗口的ID。。。但有一个问题。。。 问题

  • 使用Inspect.exe我可以看到应用程序组件的树结构中存在一个按钮,但我找不到获取该按钮句柄的方法。这是控件的Inspect.exe输出: 这个按钮的特殊之处在于它没有hwnd值。(hwnd: 0x0)。这是我试图获得对该按钮的引用的内容: 在本例中,hwnd变量是包含按钮的应用程序主窗口的句柄。 在阅读FindWindowEx的留档时,看起来似乎有多种方法可以使用不同的参数,我觉得我已经尝试

  • 我有两条流: 测量 WhoMeasured(关于谁进行了测量的元数据) 这些是它们的案例类: 流包含大量数据。流几乎没有任何可用性。事实上,对于<code>who_measured_id</code>流中的每个<code>who_。这本质上是一个哈希表,由流填充。 在我的自定义窗口函数中 这是我的工作。现在你可能会看到,有一些东西不见了:两个流的结合。 因此,从本质上讲,这是一种查找表,当流中的新

  • 问题内容: 我有一个netbeans Java应用程序,该应用程序在启动时应显示JFrame(StartUpWindow类扩展为JFrame类),并带有一些选项,然后用户单击一个按钮,然后关闭JFrame并打开一个新的(MainWindow类)。 因此,我该如何正确执行此操作。我显然在StartupWindow中的按钮上设置了一个单击处理程序,但是我应该在该处理程序中添加什么以便关闭StartUp

  • 本文向大家介绍python3 tkinter实现点击一个按钮跳出另一个窗口的方法,包括了python3 tkinter实现点击一个按钮跳出另一个窗口的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇python3 tkinter实现点击一个按钮跳出另一个窗口的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。