我正在尝试使用 C# 在 Visual Studio 中制作一个应用程序,该应用程序将保留在后台,然后其他程序可以仅使用一个参数启动该应用程序,并且它将使用该参数弹出一个通知(另一种形式)。
我需要该应用程序仅由一个进程组成,我不需要我的应用程序的多个进程/实例。我只是希望它留在后台,当有人使用参数启动应用程序时,例如MyApp.exe
“这是一个通知”,它只会弹出另一个表单,其中包含该 cmd 参数,它不会启动应用程序作为另一个进程。
我希望你明白我的意思,如果你不明白,我可以解释更多。
我正在尝试使用 C# 在 Visual Studio 中制作一个应用程序,该应用程序将保留在后台,然后其他程序可以仅使用一个参数启动该应用程序,并且它将使用该参数弹出一个通知(另一种形式)。
我需要该应用程序仅由一个进程组成,我不需要我的应用程序的多个进程/实例。我只是希望它留在后台,当有人使用参数启动应用程序时,例如MyApp.exe
“这是一个通知”,它只会弹出另一个表单,其中包含该 cmd 参数,它不会启动应用程序作为另一个进程。
我希望你明白我的意思,如果你不明白,我可以解释更多。
你想要的更多的是一份工作Windows 服务的工作。Windows 服务是一个没有 GUI 界面的程序,它位于后台并执行某些操作。该服务通常在计算机启动时启动并保持运行直到计算机关闭。
其他程序与您的服务之间的通信可以使用Windows Communication Foundation(或 WCF)来完成。WCF 允许使用一个或多个应用程序在两个应用程序之间进行通信WCF 允许使用一种或多种传输。
在不使用 WCF 的情况下,另一种“通信”方式(尽管效率可能较低)是通过数据库。您的服务可以监视表中添加的行,并且您的主程序可以在需要发生某些事情时添加这些行。选择归结为您的最终目标是什么。
祝你好运!
考虑使用命名管道(System.IO.Pipes) 或 WCF 的System.ServiceModel.NetNamedPipeBinding
. 其他选项是:旧的 .NET Remoting 或 TCP/IP 套接字。
“后台应用”可以是 Windows 服务,但它不允许向用户显示任何 GUI 表单,因为后台服务没有任何表单。
有关创建 Windows“后台”服务的简单方法,请参阅OpenSource TopShelf 项目。