C#不同独立程序之间互相通信

今天公司遇到一个问题 B程序需要同时根据A程序的执行状态 去执行相应的步骤配合A程序 (单机环境要求不需要数据库的前提) 开始打算利用一个中间文件都去读取这个文件 但是在实际环境下很容易出现占用报错 后改成windows api进程直接传递消息 完美解决

c# Winform 和wpf之间代码稍微有些不同 之后完整代码都会上传

公共相同代码

C#不同独立程序之间互相通信_第1张图片
image.png

定义传递数据结构、引用Windows api 以及发送数据上都是完全相同 但是在消息响应时 winform 与wpf则不同

winform 里 只重载 WndProc 函数便可完成消息响应如下图

C#不同独立程序之间互相通信_第2张图片
b.png

但是在wpf中则没有WndProc 这个函数 ,需要重载OnSourceInitialized函数,还需要借助HwndSource 才能完成捕获消息的功能,具体代码如下

C#不同独立程序之间互相通信_第3张图片
c.png

相比winform wpf的消息响应相比麻烦些 但也不难理解

只需上述这些代码即可实现 不同程序之前的互相通信 winform与winform wpf与wpf wpf与winform 都可互相兼容响应

需要完整代码打开下面链接即可下载

http://mgy.juw.ink/index.php?share/file&user=1&sid=XMWmjJev

你可能感兴趣的:(C#不同独立程序之间互相通信)