c# 获得一个程序的窗口句柄,并且修改它的标题

c# 获得一个程序的窗口句柄,并且修改它的标题,第1张

第一步:获取目标窗口句柄

首先引用命名空间:

using SystemRuntimeInteropServices; [DllImport("user32dll", EntryPoint = "FindWindow")]

        public static extern IntPtr FindWindow(

            string lpClassName,

            string lpWindowName

        );

利用FindWindow获得目标窗口句柄

第一个参数是类名,第二个参数是窗口原来的标题

以下代码则是获得目标窗口代码:

 IntPtr window = FindWindow(null,"Microsoft SQL Server Management Studio");//我这里是以SQL为例

第二步:改变窗口标题

 [DllImport("user32dll", EntryPoint = "SetWindowText")]

        public static extern int SetWindowText(

            IntPtr hwnd,

            string lpString

        );

以下代码则是改变目标句柄的窗口标题:

SetWindowText(window,"你好啊");

Ok,窗口标题成功修改了!!!!

附加根据进程名称修改标题:

Process [] ps= ProcessGetProcessesByName("Ssms");//根据进程名称获得进程数组

            foreach(Process p in ps)//遍历进程

            {

                SetWindowText(pMainWindowHandle, "Microsoft SQL Server Management Studio免费共享版");

            }

DLL命令 _取窗口进程ID, 整数型, , "GetWindowThreadProcessId", , user32dll获取与指定窗口关联在一起的一个线程和进程标识符

参数 窗口句柄, 整数型, , hwnd,指定窗口句柄

参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符

方法如下:

先知到要取窗口的程序在进程中的名字,比如记事本的进程就是notepadexe。(这里使用记事本程序来制作例子。)

先新建一个程序,在程序里面画一个“按钮”、两个编辑框、两个标签。然后改成相应的名字好辨认,如下图:

依次左键点击下图的:

一、个作夹

二、程序

三、模块应用

在浏览窗口找到下载存放的超级模块位置。点击打开“超级模块”

在模块下面便会多出一个“超级模块”。

双击按钮1,在子程序“_按钮1_被单击”下面新建一个名为“i”的整数型变量,然后编写代码如下:

i = 取句柄2 (“notepadexe”)编辑框1内容 = 到文本 (i)

编写以上代码后,就能取到“notepadexe”的窗口句柄了,然后,再来取窗口标题。继续编写代码如下:

编辑框2内容 = 取窗口标题 (取句柄2 (“notepadexe”))

最后调试运行一下该程序。

以上就是关于c# 获得一个程序的窗口句柄,并且修改它的标题全部的内容,包括:c# 获得一个程序的窗口句柄,并且修改它的标题、[易语言]如何通过进程名取窗口句柄、用易语言取窗口句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9321789.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存