文章目录
目前,网上关于C#进程间通信的方法有很多种,但是总结起来它们不外乎从以下两个方面进行考虑:
一、在两个进程之间建立一个共同区域
其中一个进程改变这个区域的内容,而另一个进程则去读取它,反之亦然。
比如,可以让两个进程共享同一块内存,通过改变和读取内存中的内容进行通信;或者,创建一个文件,两个进程同时占用,甚至可以利用注册表或者剪贴板充当这个“共同区域”。
【疑问】???
如何两个进程共享一块内存?
如何利用注册表或者剪贴板充当这个“共同区域”?
二、利用API函数去找到进程窗口的句柄,然后用API去控制这个窗口
例如,导入“User32.dll”中的FindWindow、FindWindowEx函数查找窗口,并获取窗口句柄。也可直接利用C#中的Process类来启动程序,并获取这个进程的主窗口的句柄,等等。
【疑问】???
如何通过“User32.dll”中的FindWindow、FindWindowEx函