c# - 从现有窗口创建子 HWND 句柄
问题描述
我有一个 winform 窗口,我在其中手动/以编程方式绘制,我想为一个我无法修改的进程提供一个 HWND 句柄,该进程明确等待一个 win32 HWND(然后这个进程将在我的窗口中绘制它自己的东西,使用HWND 句柄)。
重要的细节是我希望 HWND 指向我窗口中的某个位置。
有没有办法创建一个新的人工HWND 来指向我窗口的特定区域?
解决方案
您只能将 HWND 获取到窗口,并且每个控件(如按钮复选框等)也被视为窗口。因此,如果在您想要获得 HWND 的“区域”处没有控件,则这是不可能的。但是,例如,如果那个地方有一个组框,那是可能的。
您想绘制到某个区域。那么为什么不直接获取窗口句柄并使用 GetClientRect 和 GetWindowRect 并绘制到您想要的 x/y 坐标。
推荐阅读
- webview - 相机在 WebView Xamarin.Forms Android 中不起作用
- javascript - YouTube 自动播放在 Chrome 中不起作用
- c# - 以慢动作统一 c# 移动游戏对象位置
- c# - sonar msbuild 从 Jenkins 运行:必须设置 sonar.cs.fxcop.assembly
- rest - 如何使用 GitHub API 为问题添加标签?
- java - Java, time-related objects and oracle to_date function
- swift - 如何缩短此开关盒?
- r - R:根据关联值对数据框中的列进行排序?
- windows - 禁用 Windows 10 快捷方式(Windows 键重新映射为元键)
- r - ggmap mapdist() 在运行 devtools::install_github('dkahle/ggmap') 后不工作