问题标签 [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 回答
8774 浏览

delphi - 如何获取在 winexec 或 shellexecute 中执行的句柄?

我用来创建一个自定义函数,如 winexec(...):Hwnd ,它将重新调整已执行应用程序的句柄。

我确实使用了 findwindow() 但如果它更改窗口标题会出现问题。

0 投票
1 回答
336 浏览

c# - 查找 Messenger Hwnd

有人知道如何找到所有 msn Messenger 当前打开的对话窗口的 HWND 吗?

或者我如何找到当前关注的文本框的 HWND?

0 投票
1 回答
177 浏览

c++ - 窗口被点击——然后会发生什么?

我正在通过网络对另一台 PC 进行有限的远程控制。首先选择受控窗口,客户端可以控制该窗口和所有子窗口。虽然我的鼠标有问题,我可以使用 SetCursorPos 移动它,但是当我尝试发送 WM_LBUTTONDOWN 和 WM_LBUTTONUP 消息时,没有结果。我认为窗口必须首先位于前台,但我不确定 SetForegroundWindow 是否确实在发布 WM_ 消息之前单击后发生了什么。你知道我如何可以直接向窗口发送鼠标点击(如果它不是特定 HWND 的子窗口,则不允许点击)。

0 投票
1 回答
2455 浏览

wpf - 将输入事件从 HwndHost 传递到底层 WPF 控件?

有没有办法将发生在 HwndHost 上的输入事件(主要是鼠标,但最终也是键盘输入)传递回底层 WPF 控件(例如面板)?我可以连接到 HwndHost 中的 WndProc 并接收 Windows 消息。我可以手动为鼠标单击创建一个 routedevent 并将其发送给父级以便它冒泡吗?和想法将不胜感激。谢谢 jkersch

0 投票
1 回答
1385 浏览

wpf - 我想禁用特定航空窗上的阴影效果

我想禁用特定航空窗口上的阴影效果。我只有这个窗口的HWND,这可能吗?

0 投票
3 回答
1182 浏览

c++ - 如何最好地封装窗口句柄?

我正在开发一个由许多独立子系统组成的系统。其中两个子系统是 Window 和 GraphicsAdapter 子系统。

GraphicsAdapter 需要一个低级窗口句柄(HWND 或 X11 窗口句柄,取决于操作系统),而 Window 子系统是一种抽象这些操作系统特定 API 的方法。

如果 Window 子系统允许访问低级 API 句柄,则封装被破坏的可能性很大。

如果它允许窗口全屏并返回,但必须触发事件警告系统有关这些更改,并且低级句柄被用于在其不知情的情况下切换到全屏怎么办?

如何确保句柄安全地从 Window 子系统传送到 GraphicsAdapter 而不会被滥用,并且仍然足够灵活以允许稍后添加其他子系统(如 GraphicsAdapter),同时保持类型安全?

有没有办法以 Direct3D 和 OpenGL 可以从句柄访问刚好足以正常工作的方式封装句柄?

- 编辑

除了安全地将把手从一个子系统转移到另一个子系统之外,例如,知道子系统可以由不同的编码人员团队编写,是否有任何方法可以提醒他们使用把手的方式?

注释是显而易见的选择,但编译器强制执行的东西才是我真正想要的......

0 投票
2 回答
433 浏览

c++ - 父级的 HWND 无效

是否有可能与有效的父母有一个有效的 HWND,然后父母变得无效而孩子变得无效?

0 投票
1 回答
1233 浏览

c++-cli - 将窗口句柄 (HWND) 绑定到非托管代码中的类名/组件类型


我想通过知道窗口句柄来找出窗口的顶级组件名称。
这在托管 C++ 代码中是这样完成的:

但是,我不能将托管代码用于我必须开发的解决方案。
我曾尝试将其GetClassName()用作等效项,但这只是给了我WindowsForms10.STATIC. [...]莫名其妙的东西 :)
有谁知道如何在非托管代码中完成此操作?
我知道 C++ 本身并不提供对 WinForms 的任何支持,但我希望以正确的方式获得指针。我已经看到它在一些解决方案中完成,但无法让我的代码工作:(
提前谢谢你。

0 投票
1 回答
2102 浏览

.net - 如何从文档进纸器异步扫描和传输图像

与 TWAIN 通信的哪些部分可以放入另一个线程,例如 BackgroundWorker?或者:是否可以拆分处理图像传输的循环?

一些扫描仪驱动程序在返回调用应用程序之前扫描所有图像,这会强制应用程序一次处理所有图像。当突然必须立即处理所有事件(在每个扫描图像后引发)时,这会导致例如 OutOfMemoryException 或我的 WPF 应用程序中的奇怪行为。此外,应用程序挂起,直到传输完成。

我正在使用 TwainDotNet: http ://code.google.com/p/twaindotnet/但我也在寻找一个通用的解决方案来描述消息过滤器以及与 TwainDotNet 无关的 TWAIN 的交互。包含 TWAIN 消息的工作流就足够了。也欢迎其他语言,最好是 C 或 Deplhi 之类的语言。

DataSourceManager 中消息过滤器的当前实现可以描述如下:

  • 从窗口句柄 (hwnd) 获取消息信息
  • 复杂的过滤器,将东西发送到 TWAIN 等。
  • 如果消息关闭(例如,当按下 TWAIN UI 中的取消按钮时)
    • 关闭数据源
    • 禁用过滤器
    • 呼叫扫描完成事件
  • 如果消息传输准备好:
    • 在一个循环中(直到 ADF 为空等,这会阻止消息过滤器)
      • 获取图像
      • 将图像指针转换为 GDI+ 图像
      • 以图像为参数调用 TransferImage 事件
    • 重置转移
    • 关闭数据源等(同消息关闭)
  • 通知窗口,消息已被处理

我已经用几个扫描仪对此进行了测试:

  • 每次传输页面时,富士通 fi-5120C 都会调用 TransferImage 事件。该图像会立即在我的 WPF 应用程序的图像列表中弹出。
  • 佳能 DR-5010C 会阻止我的 WPF 应用程序,直到扫描完所有图像(直到循环结束)。Windows 甚至说,WPF 应用程序没有响应。传输完所有图像后,仅显示少数图像,图像列表中的选择闪烁等。

我不关心显示问题,而是关心窗口阻塞和内存问题。将传输图像的循环放入 BackgroundWorker 导致了几次崩溃,我无法调试。当然,我考虑了 WPF 的线程问题。我也不知道如何拆分传输循环,以便在传输一张图像后,程序返回消息过滤器并且可以将消息标记为已处理。

0 投票
2 回答
3682 浏览

windows - 发现窗口和按钮等对象的 HWND 的程序

我记得几年前,我使用的程序能够显示任何对象的属性和 HWND,例如任何 Windows 程序中的窗口和按钮。我记得,您只需将鼠标悬停在感兴趣的对象上,程序就会显示信息。有谁知道我指的是什么程序以及在哪里可以找到它?