Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从现有窗口创建子HWND句柄_C#_Winforms_Hwnd - Fatal编程技术网

C# 从现有窗口创建子HWND句柄

C# 从现有窗口创建子HWND句柄,c#,winforms,hwnd,C#,Winforms,Hwnd,我有一个winform窗口,其中我正在手动/编程地绘制,我想为一个我无法修改的进程提供一个HWND句柄,该进程将明确等待win32 HWND(然后该进程将使用HWND句柄在我的窗口中绘制它自己的东西) 重要的细节是我希望HWND指向窗口中的某个位置。 有没有办法创建一个新的人工HWND,它将指向我的窗口的一个特定区域?您只能获得一个窗口的HWND,并且每个控件(如按钮复选框等)也被视为窗口。 因此,如果在您想要获取HWND的“区域”中没有控件,这是不可能的。 但如果在那个地方有一个groupbo

我有一个winform窗口,其中我正在手动/编程地绘制,我想为一个我无法修改的进程提供一个HWND句柄,该进程将明确等待win32 HWND(然后该进程将使用HWND句柄在我的窗口中绘制它自己的东西)

重要的细节是我希望HWND指向窗口中的某个位置。


有没有办法创建一个新的人工HWND,它将指向我的窗口的一个特定区域?

您只能获得一个窗口的HWND,并且每个控件(如按钮复选框等)也被视为窗口。 因此,如果在您想要获取HWND的“区域”中没有控件,这是不可能的。 但如果在那个地方有一个groupbox,这是可能的

你想画到某个区域。
那么,为什么不使用GetClientRect和GetWindowRect获取窗口的句柄,并绘制到所需的x/y坐标。

那么,也许我应该在指定位置创建一个虚拟控件。实际上,正如我所说,我无法更改将使用句柄的代码。此代码将获取句柄并从位置(0;0)绘制。所以我必须给另一个偏移的ed句柄。那么你也不能控制设备句柄?