c#操作第三方窗体

时间:2024-03-16 10:52:16

本人工作的单位是一家加工制造的单位,有时候必须要对客户提供的一些测试软件进行操作,在我没来这家公司之前,我发现他们都是在电脑上同时打开很多的窗口,除了第三方的测试软件外还有自己的控制窗口,整个电脑屏幕就看起来很乱,而且在进行自动点等击操作的时候就会更加麻烦,每次打开软件都需要慢慢调整坐标,特别的麻烦,所以我就想是否可以将第三方的窗体融入到我的界面上,网上的资料比较少,查找了许多资料,终于如愿以偿,加上自己的一些实际工作的经验,整理出来与大家一起分享。

一、准备工作

首先:我们也得有自己的控制窗体,在你的项目中新建一个自己的窗体,在我的窗体中,我添加了一个panel容器,就是之后我们要嵌入窗体的容器。

c#操作第三方窗体

然后,还要有第三方的窗体,我这里用的是扫雷的程序为大家演示

c#操作第三方窗体

接下来,是比较重要的步骤,就是拿到第三方窗体的ID,就是窗体的句柄,不懂什么是句柄的大家可以百度了解一下,如何拿到句柄呢,VS为我们提供了获取句柄的工具,就是这个:

c#操作第三方窗体

这个的位置在VS的工具菜单下面,如果没有这个选项的同学可能是你安装VS的时候没有选择C++语言,可以修复安装选择C++语言就可以啦。

打开之后选择这个

c#操作第三方窗体

然后就查找程序工具拖到第三方窗体上就可以啦,我们需要的就是标题和类两个参数

c#操作第三方窗体

二、代码编写

代码其实很简单的,就是调用win32API库函数的SetParent(HWND hwndChild, HWND hwndNewParent);

c#操作第三方窗体

这是主要的代码,是不是很简单,看看效果图:

c#操作第三方窗体

之后对窗体的操作就比较方便啦,有了这个,第三方窗体再也逃不出我的手掌心啦!!!

工程文件

第一次写博客,如果阐述不清楚的请多多谅解,有阐述错误的请多多指教,欢迎大家一起交流!!!