C# WinForm【笔记13】跨项目交互代码执行:工程A exe打开工程B执行相关函数

发布时间:2026/10/20 5:51:13
C# WinForm【笔记13】跨项目交互代码执行:工程A exe打开工程B执行相关函数 一、首先将对应Debug放进ADebug里面如下二、按钮点击打开该文件XUexe文件同时创建客户端简单发送NamedPipeClientStream client; private void btnOpen_Click(object sender, EventArgs e) { // 获取当前程序所在目录 string currentDir Application.StartupPath \\Bemp_Index.Text; var targetFiles Directory.GetFiles(currentDir, *.exe); // 如果没有找到文件 if (targetFiles.Length 0) { MessageBox.Show(未找到相关.exe程序); return; } string targetExe targetFiles .OrderByDescending(f File.GetLastWriteTime(f)) // 按修改时间排序 .First(); // 取最新的一个 // 启动目标程序 Process.Start(targetExe); BempDesc 其他; //创建exe客户端 client new NamedPipeClientStream(., MyPipe, PipeDirection.InOut); client.Connect(3000); // 超时3秒 }三、发送字符串代码函数public void Bump_Open() { string str ; if (ckPA.Checked) { strckPA.Text开; } if (ckBA.Checked) { str str, ckBA.Text 开; } byte[] msg Encoding.UTF8.GetBytes(str); client.Write(msg, 0, msg.Length); client.Flush(); }四、B工程加载创建服务端并做接收操作public Form1() { InitializeComponent(); #region exe服务端接收 var server new NamedPipeServerStream(MyPipe, PipeDirection.InOut, 1, PipeTransmissionMode.Message); // 关键消息模式 server.WaitForConnection(); // 等待启动方连接 Thread th new Thread(() { while (server.IsConnected) { int bytesRead server.Read(buffer, 0, buffer.Length); if (bytesRead 0) { break; } string message Encoding.UTF8.GetString(buffer, 0, bytesRead); string[] arr message.Split(,); for (int i 0; i arr.Length; i) { if (arr[i] PA开) { byte[] data new byte[4]; data[0] 0x04; data[1] 0x01; data[2] 0x00; data[3] 0x01; myQueue.Enqueue(0, myUsart.Data_Pack(data, 0x00)); } else if (arr[i] BA开) { byte[] data new byte[4]; data[0] 0x04; data[1] 0x02; data[2] 0x00; data[3] 0x01; myQueue.Enqueue(0, myUsart.Data_Pack(data, 0x00)); } } UIMessageTip.ShowOk(泵浦 message, 3000, true); Thread.Sleep(10); // 如果需要返回确认 //byte[] response Encoding.UTF8.GetBytes(OK\n); //server.Write(response, 0, response.Length); } }); th.IsBackground true; th.Start(); #endregion }结语接收到message字符串根据字符串对其进行相应操作根据需求进行修改总的来说就说另类的跨工程交互操作

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询