问题标签 [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 投票
1 回答
405 浏览

delphi - 将项目添加到另一个应用程序的模式窗口的最佳方式?

将项目添加到另一个应用程序的模式窗口的最佳方式是什么?

我为此编写的简单示例(作为概念证明)使用了一种我怀疑对于微不足道的后台进程来说处理器密集程度过高的方法,但我在想出替代方案时遇到了麻烦。

例如,假设您是一名医生,正在填写带有处方数据的模式窗口。您输入 30 天并补充 11 次,然后患者说他们想要 90 天并补充 3 次。原始应用程序(您无权访问其源代码)没有简单的转换。我编写了一个小实用程序来监视这个特定的窗口(使用计时器和 findwindow),当它找到它时,使自己可见并将自己放置在目标模态窗口的空白处。当按下“30”按钮时,Rx 会写入 30 天,11 次补充,当按下“90”按钮时,它会达到您的预期。如果模态窗口移动,30 和 90 按钮也会随之移动。虽然这可行,但我担心在计时器上重复运行 findwindow 所涉及的开销。

1)有没有更好的方法?2)我担心这个是对的吗?3)你在嘲笑我的kluge是多么低效吗?

在此先感谢-这里的人们给我留下了深刻的印象!

0 投票
2 回答
3072 浏览

winapi - WinApi FindWindow 按标题的一部分

如果我只知道窗口标题和类名的一部分,如何获得窗口的描述符?

0 投票
3 回答
947 浏览

delphi - 如何在不显示模式对话框的情况下关闭应用程序?

我有一个应用程序可以在创建 PDF 后选择打开它们。如果连续生成了两个具有相同名称的报告,如果 acrobat 的第一个副本仍然打开 PDF,则第二次尝试将失败,因此在我编写 PDF 之前,我会检查(使用 FindWindow)以查找具有文档名称的窗口。如果找到一个,我会发出一个 SendMessage WM_Close。

这工作正常,但我正在做一些其他的测试,并使用 Word 来“编辑”PDF,让它保持打开状态,这样我就可以测试应用程序在无法写入 PDF 文件时的行为。现在,当我的应用程序尝试关闭窗口时,Word 会弹出一个“你想保存”对话框。如果我单击取消,Word 保持打开状态,我的应用程序继续运行,并且我可以测试它在遇到无法写入的文件时的行为是否合理。

一切都很好,但它提醒我,如果另一个应用程序弹出模式对话框,使用 SendMessage WM_CLOSE 关闭另一个应用程序会阻碍我的应用程序。有没有办法解决这个问题 - 即关闭另一个应用程序的更有力(但不是太有力)的方式?或“关闭并在必要时单击取消”。或者我应该使用异步消息?

0 投票
1 回答
2572 浏览

c# - 在 C# 中创建 spy++ 的函数“查找窗口...”

我想在 C# 中创建与 spy++ 相同的函数“查找窗口...”。我尝试过使用 WINAPI 的这个功能:

http://msdn.microsoft.com/en-US/library/ms633558.aspx 但我没有到达所有元素,因为它们被禁用或隐藏。

例如,在程序员模式下使用窗口 7 计算器,如果它们被禁用,我无法使用我的程序获取“ABCDE F”,那么 spy++ 可以获取它。

编辑:我试过这个,但它不工作:

myPoint 是我鼠标的位置。

我不熟悉WINAPI,我想你的解释是对我缺乏了解。有可能有一个 ChildWindowFromPointEx 函数的小例子,或者知道我的代码不起作用吗?谢谢你的回答


我尝试创建循环,但似乎句柄在另一个句柄下但不是句柄的子句柄,当键“abcde f”被禁用时,循环总是发送相同的句柄并且没有期望的子句。你有别的想法吗?

0 投票
1 回答
1739 浏览

vb.net - 查找窗口文本

嘿,我正在尝试从外部程序中获取一些文本。目前我正在使用此代码:

我得到了 lngHWND、lngHWNDF 和 lngChild 的值。但是,它们只是值(数字)而不是文本本身。

这是我试图从中获取文本的程序的图像: 前卫

我怎样才能从它找到的那些项目中获取文本?

大卫

0 投票
2 回答
6869 浏览

c++ - C ++句柄作为HWND?


我想知道您是否可以将句柄转换为窗口“HWND”。我需要使用“FindWindow”方法调用“PostMessage”函数。

我目前必须采购

0 投票
1 回答
4240 浏览

c++ - c ++查找没有FindWindow函数的进程句柄

我试图找到进程句柄,

我需要窗口标题
假设我有两个具有相同标题的进程,
所以我想做类似的东西:

0 投票
2 回答
1001 浏览

delphi - 更改 TCreateParams.WinClassName 或如何找到另一个自己的应用程序的表单句柄是否安全?

我有两个应用程序,第一个需要从第二个(也是我自己的)但不同的应用程序(不是实例,而是不同的应用程序)中找到表单的句柄。我见过一些技术,但我想知道我想做的事情是否安全,或者什么是有效的方法。

我正在考虑使用FindWindow可以传递类名的函数,所以如果我将表单中的WinClassName成员更改CreateParams为某个唯一值(例如 GUID),那么我将很容易找到这个大窗口机会是我的应用程序中的一个。

需要查找其表格的应用程序:

另一个需要从前一个应用程序中查找表单的应用程序:

我的问题是:

将此成员更改TCreateParams为我想要的任何内容是否安全,或者在某些方面不安全?或者您将如何从您自己的另一个应用程序(不是应用程序实例,而是您自己的另一个应用程序)中查找表单句柄?

非常感谢!

0 投票
1 回答
15260 浏览

hwnd - FindWindow() 找不到我的窗口 [C++]

这不是一个复杂的问题。我无法找到属于 iTunes 的句柄。但是,尽管 iTunes 在后台运行,但它一直告诉我它找不到窗口。所以我继续检查我是否错过了输入窗口名称,但 spy++ 指出我使用了正确的窗口名称和类名(见下文)。我确定这是一个小错误,但我似乎找不到它。有没有人有见识?提前致谢。

0 投票
2 回答
100 浏览

c# - 我怎样才能拥有 2 个 dll 函数实例但仍然使用它们?

像这样。我两个都需要。如果我选择 intptr,它不能正确转换为 int,因此 postmessage 等东西会失败,否则,需要“句柄”的东西会失败,因为它应该是指针。

我基本上想执行这个,同时也有我的 int findwindow 函数。有什么想法吗?Findwindow 也是句柄,对吧?