问题标签 [hwnd]

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 投票
3 回答
12048 浏览

c++ - “SendMessage”到 C++ 中的 3 个不同进程

我想将击键发送到多个进程。例如,如果我按“1”,那么我想将“1”发送到 3 个“记事本窗口”。首先我想尝试向记事本发送击键,但在 HWND 上失败:

但是“FindWindow”方法对我的程序来说还不够好。也没有办法获得 3 个具有相同名称的不同进程。那么如何为 3 个同名的不同进程创建 3 个句柄呢?以及如何将密钥发送到流程?

0 投票
1 回答
3092 浏览

c++ - 如果带有 HWND 的窗口仍然存在,我该如何阻止

可能重复:
使用 Win32 API 验证 HWND

如果 HWND 的窗口仍然存在,我该如何阻止?我有一个窗口的 HWND。该窗口存在于另一个进程中。我想知道 Window 是否还“活着”。做这个的最好方式是什么?

0 投票
1 回答
2451 浏览

c - WinMain中hPrevInstance的作用是什么

定义WinMain是:

我的理解是:

但是,我从来没有遇到过 的任何用法,即使是在1990 年代hPrevInstance后期的书中。那么,如果有的话,它的用途是什么,它到底什么?hPrevInstance

0 投票
1 回答
410 浏览

python - 使用 Boost.Python 包装和传递 HWND

我为 C++ 遗留类创建了一个 Boost.Python 包装器(使用 Py++),该类在其构造函数中采用 HWND 窗口句柄。但是,当我尝试使用它时将模块导出到 python 后,我收到类型不匹配错误。

这是我要包装的 C++ 类:

Py++ 输出:

生成的包装器:

在 python 中,我得到不匹配错误:

如何纠正这个问题,以便能够将 Python 中的窗口句柄(来自 win32gui)传递给 C++ 类,并与之交互?

环境:Visual Studio 2008、Boost 1.44、gcc-xml 0.9.0、py++ 1.0.0、pygccxml 1.1.0

0 投票
2 回答
9628 浏览

c# - 从 IntPtr Handle 获取 Control/Form 对象

我尝试使用以下代码从显示的 Word 应用程序窗口中获取托管控件:

不幸的是 wordControl 始终为空...据我所知,如果没有找到与句柄相关的控件,FromHandle 将返回空。但实际上我猜应该有一个相关的控件,因为我可以在我的屏幕上看到窗口。

因此我的问题是,如果我在尝试获取手柄或控件时做错了什么。或者,也许我的一般方法不适用于某些基于 .NET / Windows 环境中某处的目前未知的原因。

0 投票
1 回答
15260 浏览

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

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

0 投票
1 回答
1429 浏览

multithreading - 非窗口类中的自定义消息 - 需要默认处理程序吗?

有了一个类(TObject),我有:

在哪里TH_MYMESSAGE = WM_USER + 1

在类构造函数中:

唯一接收到引用的对象FHwnd是私有自定义 TThread(在此类中创建),它发布的唯一消息是TH_MYMESSAGE. 我的理解是message过程声明中的指令将其处理限制为仅TH_MYMESSAGE.

这在测试中运行良好,但在集成到更大的应用程序后,我收到的反馈HandleMyMessage也会触发其他消息(具有明显的不良结果)。

if Message.Msg <> TH_MYMESSAGE then Exit;这很容易通过添加来纠正HandleMyMessage。我的问题是:为什么会这样?

我最好的猜测是,尽管它有指令,但它AllocateHWND已经HandleMyMessage相当于 a 。有没有正确的方法来实现我所缺少的?DefWndProcmessage

0 投票
4 回答
37902 浏览

c - 在 C 中使用 ShellExecute() 打开 .txt 的正确方法是什么

好的,所以我需要打开一个 .txt 文件,该文件将在与程序相同的文件中创建。

我想使用 ShellExecute(); 要做到这一点,我已经做了很多研究,但我似乎无法正确获取语法,主要是因为我不知道如何处理参数“HWND”

在这里寻找答案并获得了所有信息,除了放入 HWND 的内容

这是我需要使用的代码的方式:

如果您不确定我在说什么,请提前感谢您的帮助!:)

这是我用来测试功能的程序:

view_debug(); 是包含 ShellExecute 的函数

这是 log_debug();

该文件由函数 log_debug() 创建;它确实有效,但必须手动打开,因为 ShellExecute 不起作用。

完整来源在这里。

0 投票
2 回答
6500 浏览

c++ - 使用 FindWindowEx 函数找不到子窗口

我正在开发一个小程序,以便在使用 Microsoft 远程协助 (msra.exe) 时让我的生活更轻松。使用 c++,我可以打开 msra.exe,然后找到窗口句柄。然后我想找到子窗口(按钮),并与它们进行交互。问题似乎是,我找不到我想要的按钮。Spy++ 显示按钮具有以下文本:

窗口 004902F4“邀请您信任的人帮助您”按钮。

我的程序返回搜索此字符串时,该按钮不存在。有人有想法么?这是代码:

编辑:

这是 spy++ 显示的图像。 间谍++图像

0 投票
2 回答
115 浏览

winapi - 在 Windows 中,HANDLE 是进程 VAS 中的地址还是其他东西的独立索引?

简单地说,如果我要调用一些返回句柄的 API,例如 GetActiveWindow(),它会给我一个 HWND 类型的句柄,我会得到什么?它是进程 VAS 中的唯一地址,还是某个操作系统结构的唯一索引?或者是其他东西?