Tag: windows process

如何使用c#将消息从Windows服务传递到Windows桌面应用程序?

我想将一条消息从Windows服务传递到已经运行的Windows桌面应用程序。 我在Windows服务上实现了一个计时器。 在一段时间之后,服务向Windows应用程序发送消息。 服务或发件人代码如下: System.Diagnostics.Process[] lProcs = System.Diagnostics.Process.GetProcessesByName(“TestProcess2”); if (lProcs.Length > 0) { IntPtr handle = lProcs[0].MainWindowHandle; if (handle != IntPtr.Zero) SendMessage(handle, 232, IntPtr.Zero, IntPtr.Zero); } 和windows桌面应用程序(接收器)代码如下: protected override void WndProc(ref Message m) { if (m.Msg == 232) { MessageBox.Show(“Received”); } else { base.WndProc(ref m); } } 当两个进程都是windows桌面应用程序时,上面的代码工作正常。 当我使用Windows服务作为发件人时,Windows桌面应用程序进程无法接收消息。 你能帮我吗?