如何从一个窗口服务启动WinForms应用程序(How to launch a Winforms a

2019-10-28 13:43发布

你好,我是试图推出一个互动的过程-一winforms在当前会话从窗口服务-应用程序。 我不知道该怎么办that.I正在使用TopShelf我试图启动使用过程WhenSessionChanged提供钩TopShelf 。 我可以得到sessionId

 var exitCode = HostFactory.Run(x => {
                    x.Service<MyService>(s => {
                        s.ConstructUsing((h) => new MyService());
                        s.WhenStarted(t => t.Run());
                        s.WhenStopped(t => t.Stop());
                        s.WhenSessionChanged((anubis, args) => {
                              string winformsPath="D://WinFormsApp/Wf.exe"
                              int sessionId = args.SessionId;
                              Process process = new Process();
                              process.StartInfo = new ProcessStartInfo(winformsPath);
                              process.Start();
                         });
                    });
                    x.RunAsLocalSystem();
                    x.SetServiceName(Constants.ISO.NAME);
                    x.SetDisplayName(Constants.ISO.DISPLAY);
                    x.SetDescription(Constants.ISO.DESCRIPTION);
                });

我不知道用什么做sessionId
PS
我没有张贴的定义MyService ,因为它不符合我们的case.I重要的就是想发动对当前会话的WinForms。

文章来源: How to launch a Winforms app from a windows-service