2010-09-02 104 views
1

我有一个UI应用程序,它提供几种功能(< 800KB)。我想允许将它最小化到系统托盘,并继续解码来自串行端口的数据并发送网络消息。最小化对系统托盘的影响

我可以简单地隐藏主窗体并在系统托盘中创建NotifyIcon,或者是否有系统托盘应用程序的其他注意事项?应用程序在隐藏时是否使用较少的资源?或者最好是为系统托盘制作一个简单版本的应用程序(带有重复代码)?

我的应用程序执行2种不同的应用程序(相关功能)。在完成编码之前,我正在试图预测这些影响。

+0

我想说,在800KB的情况下,你可能不需要担心内存消耗。 – kbrimington 2010-09-02 02:10:41

回答

2

我写了几个使用NotifyIcon的应用程序。把它放在通知区域(系统托盘)没有什么特别之处。它只是在工具栏上不再可见。

1

IMO在你的情况最好的办法是使Windows服务,将解码来自串行端口的数据和发送消息。和其他Winforms应用程序,只会设置偏好和服务状态,可以去托盘。也许你真的不需要这个托盘应用程序,只需要windows服务,你可以通过配置文件设置首选项,并通过EventLog监视状态。

当然,如果有可能从Windows服务运行,例如。您的串行端口和网络代码不需要记录用户或桌面。

+0

我需要查看编程Windows服务所需的内容,如何从WinForm与它进行通信,如何使用来自另一个进程的消息等等。在我的应用程序中,串行数据是分段的,因此主窗体从中获取数据片段并将它们发送给解码器实例,解码器实例将它们重新组装并解码数据,并将其发送回主窗体以供在屏幕上显示,并且还发送到网络通知器实例(发送字符串消息)。 – OIO 2010-09-02 03:56:38