service启动winform程式 遇到的问题
写了一个service,电脑开机便一个winform程式 ,指定 启动在账号 test下,并且要显示 窗体。现在遇到一个问题 :
电脑开机,service启动了,winform程式无法显示窗体,只能在任务管理器里看到。
下述为主要代码:
// serviceProcessInstaller1
//
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.User;
this.serviceProcessInstaller1.Password = "test";
this.serviceProcessInstaller1.Username = @".\test";
this.serviceProcessInstaller1.Committed +=new System.Configuration.Install.InstallEventHandler(serviceProcessInstaller1_Committed);
OnStart方法里有:
Process process = new Process();
string StartAppPath = @"D:\Program";
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
process.StandardInput.WriteLine("cd /d " + StartAppPath);
process.StandardInput.WriteLine("Program.exe");
process.StandardInput.WriteLine("exit"); --------------------编程问答-------------------- 如果ServiceAccount.User改成System
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.System;
// this.serviceProcessInstaller1.Password = "test";
// this.serviceProcessInstaller1.Username = @".\test";
会出现程式在System下,不是在test账号下,
如何实现程式能在指定账号Test下运行winform程式,并显示窗口 --------------------编程问答-------------------- 设置服务属性"登录--允许服务与桌面交互"
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答--------------------
设定之后,程式 会在启动在system下,无法在启动在test账号下 --------------------编程问答-------------------- 不如把启动信息写在注册表里,能起到一样的效果。 --------------------编程问答--------------------
这个要求本来就有问题,你用B账号登陆,怎么可能看到A的账户要弹出的窗口 --------------------编程问答-------------------- windows系统允许多用户同时运行,但是用户之间不能共享UI。 --------------------编程问答-------------------- service 没有界面的好处是没有用户登录,也可以正常运行,楼主这是用错了地方吧。
补充:.NET技术 , C#