我正在开发一个使用windows自动启动的程序。该程序是用windows-forms
编写的C#
应用程序。当它开始时,它会自动隐藏自己并显示一个托盘图标。所以它只在托盘中可见,而不是在任务栏中,而不是作为窗口。
现在我想以某种方式向正在运行的Windows窗体发送一个ID(一个简单的int号),表单应自动显示一个带有收到号码的消息框。
发送应该直接发送,而不是发送到数据库或被监视的文本文件。
有没有办法将数据发送到打开的窗体?
任何帮助apreciated:)
答案 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