问题标签 [findwindow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1849 浏览

c# - FindWindow 不返回 IntPtr.Zero,尽管窗口已经关闭

我正在尝试从我的 C# 程序控制 Java 应用程序。在程序开始输入数据之前,它会检查是否有任何可通过的数据输入窗口,并尝试关闭它们。

检查窗口是否存在的代码是:

直到现在,我只是在一个while循环中使用了这个方法(向窗口发送Alt+F4),直到没有打开的输入窗口离开。

不久前,Java 应用程序得到了更新,这种方法不再有效。出于某种原因,WindowExists 一直返回 true,即使在数据输入窗口关闭之后也是如此。仅当输入窗口至少存在一次时才会发生这种情况。

我什至尝试将 Thread.Sleep() 添加到循环中,以确保这不是由 Java 应用程序中的一些延迟引起的,但它不起作用。

有时简单地调用 WindowExists 会使输入窗口崩溃。

代码没有问题,因为之前已经运行过,而且在其他程序中仍然可以运行,所以肯定是Java程序中的更新有问题。

是否有任何替代/更可靠的方法来检查窗口是否存在?将发送 Alt+F4 更改为“关闭窗口事件”可能也值得一试,但我不知道如何将此事件发送到另一个程序的窗口。

我是新手,所以请保持简单的答案。

提前致谢。

0 投票
2 回答
1608 浏览

vb.net - VB.net findwindow/findwindowex

大家好,我想弄清楚当控件名称与程序上的所有其他标签相同时如何查找此窗口的标签。

所有 3 个标签的名称都相同。我最感兴趣的是进度百分比计数器(1%、2%、3% 等)

我如何在任何给定时间不知道它的标题的情况下从该标签中获取值(当然使用计时器)?

任何帮助都会很棒!:o)

大卫

0 投票
1 回答
416 浏览

vb.net - VB.net 向控制台发送消息

大家好,我正在尝试从我的 vb 程序向控制台框(dos 框)发送一些文本,但我似乎无法让它工作。

这是我当前的代码:

虽然这确实有效,但它只为标题栏而不是在控制台中放置一个A。

任何帮助都会很棒!:o)

大卫

0 投票
2 回答
5283 浏览

c++ - 通过 mfc 使用通配符和 FindWindow api 调用

我在 mfc 应用程序中使用 FindWindow。

我想将 FindWindow 与通配符一起使用,以便仅匹配 foobar。

谢谢

0 投票
3 回答
13316 浏览

vb6 - Findwindow 和 SendMessage

我试图弄清楚为什么这没有向记事本发送 ALT+F,

我得到了parenthwnd的值,但没有得到任何 retvalue 值(0)。

我错过了什么?

0 投票
1 回答
2504 浏览

c++ - 如何注册一个 Windows 类并使用已注册的类查找窗口

我正在创建一个 MFC 应用程序,它将在单击资源管理器上下文(右键单击)菜单时启动。

但我只需要启动应用程序的单个实例。为此,我必须使用FindWindowAfxRegisterClass

我尝试在我的 MFC 应用程序中注册该类,如下所示:

并在 MFC 类的构造函数中调用该方法。我在启动应用程序时验证了该类正在注册。

现在在我的 shell 扩展中,我试图找到在我的 MFC 中注册的类,如下所示:

但我无法让 CWnd 到 Window。无法弄清楚。如果我遗漏了什么或做错了什么,请告诉我。

0 投票
1 回答
1217 浏览

c# - Windows 窗体 C# 程序:如何检查按钮状态(启用/禁用或可见/隐藏)?

我有一个程序,如果出错,将停止运行。当它停止运行时,“开始”按钮被启用,“停止”按钮被禁用。程序运行时(单击“开始”后),“开始”按钮禁用。

我的目标是编写一个程序,每隔一段时间(2 分钟)检查“开始”按钮的状态,并在“开始”按钮启用时发送 SMTP 电子邮件。从而让我知道程序何时停止运行。

我已经能够使用 FindWindow 找到该程序,但我无法找到该按钮,更不用说让我的程序区分启用与禁用。

使用 Spy++,按钮的句柄是 000A0B0A。启用时按钮的样式为 54000000;禁用它是 5C000000。程序或窗体/窗口句柄是 00050B2C。

我的问题是:我可以使用什么命令(如果有)来检查该特定按钮的样式(句柄 00A0B0A)?

0 投票
1 回答
685 浏览

delphi - 让一个德尔福应用程序关闭从驱动程序弹出的对话框

我有一个尝试打开网络摄像头的 delphi 应用程序。在Windows 7 下,它偶尔会失败(这是另一个故事/问题/线程),但网络摄像头驱动程序也会弹出一个标题为“视频源”的对话框,邀请我选择一个。如果我尝试循环重复打开驱动程序并在每次出现时手动关闭对话框,我就可以开始了。所以我想从我的应用程序中关闭对话框。FindWindow (nil, 'Video Source') 没有找到它。如果我使用进程资源管理器查看,则对话框显示为属于我的应用程序。如果我从 PE 强制关闭它,它会关闭我的应用程序!如何关闭此对话框?我怀疑(已确认)我的应用程序在此对话框打开时挂起,这将使执行任何代码以关闭对话框变得非常困难。

0 投票
1 回答
5585 浏览

wpf - user32.dll FindWindowEx,在远程 WPF 窗口上按类名查找元素

我有一个从命令行应用程序启动的 WPF 应用程序。

我正在尝试做一些简单的自动化(获取/设置文本,单击一些按钮等)。我似乎在 WPF 中找不到任何子窗口。

我有 WPF 和 UIA 框架、WinForms 和 WinAPI 的工作模型,但似乎无法让 WinAPI 和 WPF 很好地发挥作用。

我使用过 UISpy、WinSpy++、Winspector、UIA 验证应用程序来查看控件等,但它们似乎没有为 WPF 提供与 WinForms 相同的信息。

例如,在 WinForms 应用程序中,当我通过间谍工具查看时,我看到了一个 ClassName 为“WindowsForms10.EDIT.app.0.33c0d9d”的文本框。UIA 自动化验证应用程序是唯一确认元素存在并报告“文本框”的应用程序。

所以,我的问题是如何找到要传递的正确类名,或者是否有更简单的方法来查找子元素?

这是我正在使用的 user32.dll 导入:

0 投票
2 回答
3996 浏览

c++ - C++——FindWindow win32 API 总是失败!

我在 C++ 中遇到 FindWindow() 函数的问题。我正在使用两个程序——程序 A 和程序 B。两者都是本机代码中的控制台应用程序。程序 A 用值初始化 int i 和 string s。程序 B 使用程序 A 运行时显示的地址从程序 A 的内存中读取它们。目前我只对阅读'i'的值感兴趣。

我无法让 FindWindow() 工作,我不知道为什么:/我没有做过太多的 win32 api 编程,所以我在这个隔间里很新。

方案一:

方案 B: