飞书可以AI审合同啦!iTerms智能体免费体验
2026/7/9 5:57:35
一、首先将对应Debug放进ADebug里面,如下
二、按钮点击打开该文件(XU)exe文件,同时创建客户端简单发送,
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) { str=ckPA.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字符串,根据字符串对其进行相应操作,根据需求进行修改;总的来说,就说另类的跨工程交互操作,