将数据发送到Windows窗体应用程序

时间:2012-10-29 15:44:43

标签: c# .net winforms c#-4.0 communication

我正在开发一个使用windows自动启动的程序。该程序是用windows-forms编写的C#应用程序。当它开始时,它会自动隐藏自己并显示一个托盘图标。所以它只在托盘中可见,而不是在任务栏中,而不是作为窗口。

现在我想以某种方式向正在运行的Windows窗体发送一个ID(一个简单的int号),表单应自动显示一个带有收到号码的消息框。

发送应该直接发送,而不是发送到数据库或被监视的文本文件。

有没有办法将数据发送到打开的窗体?

任何帮助apreciated:)

2 个答案:

答案 0 :(得分:3)

您可以使用标准Windows API SendMessage(同步)或PostMessage(异步/发送和忘记)。要使用这些API,您必须知道Windows窗体/应用程序主窗体的句柄。

还有其他方法,但这可能是迄今为止最简单的方法,并且可以在相同或其他过程中工作,并且对于整数而言非常轻量级,只需要传递。

答案 1 :(得分:3)

命名管道怎么样?

它们是持久的,易于访问。 这是一篇博文,详细介绍了2.0和3.5的实现: http://www.switchonthecode.com/tutorials/dotnet-35-adds-named-pipes-support