2

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

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

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

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

任何帮助表示赞赏:)

4

2 回答 2

3

命名管道怎么样?

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

于 2012-10-29T15:52:14.763 回答
3

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

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

于 2012-10-29T15:49:16.573 回答