提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
很多程序内嵌着其他程序,通过打开其快捷方式或者其他一些方式打开内嵌的程序,然而我们需要在打开的同时传一些相关的参数给到内嵌程序,内嵌程序根据参数进行一些列的处理,这个时候我们就可以通过查找句柄的方式传递参数。
一、句柄是什么?
百度百科:句柄(Handle)是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,值得注意的是句柄不能是常量 。所以我们可以通过查找程序句柄来找到目标程序,然后传递参数。
二、使用步骤
这里涉及到三个函数FindWindow、SendMessage和DefWndProc。
1.FindWindow和SendMessage都是在user32.dll中声明的API函数。
2.在C#中用户自定义消息,可以重载DefWndProc函数使用switch…case…判断并处理。
1.查找目标程序句柄并发送参数(发送方)
先在C#中导入涉及到的API函数,导入如下:
using System.Runtime.InteropServices;
[DllImport("User32.dll",EntryPoint ="FindWindow")]
private static extern int FindWindow(string lpClassName, string lpWindowName);
[DllImport