Window Service 服务中启动有界面进程

assky124 2015-09-10 04:40:22
window 服务 账户为LocalSystem,在服务中启动新进程,在进程中报错


//子进程代码
System.Threading.Thread.Sleep(30 * 1000);
log4net.Config.XmlConfigurator.Configure();
var loger = log4net.LogManager.GetLogger("TEST");
loger.Info("Start");
try
{
for(int i = 0; i < 100; i++)
{
Label label = new Label();
label.CreateControl();
label.Text = i + 1 + "";
}
}
catch(Exception ex)
{
loger.Error(ex.Message);
}
Console.ReadKey();

错误信息目前未模仿客户端的线程试图在模仿令牌上操作。

我想可能是当前账户不能创建界面,如何设置子进程可以类似“允许桌面交互”的功能
...全文
355 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
assky124 2015-09-11
  • 打赏
  • 举报
回复
服务需要自动执行一些模拟用户操作。 不可能把所有的界面功能重写的。
assky124 2015-09-11
  • 打赏
  • 举报
回复
自己搞定了,用特定的账户启动 使用CreateProcessAsUser 自带的ProcessStartInfo里面指定好像不行,不管有没权限都提示拒绝访问! 参考 https://social.msdn.microsoft.com/Forums/vstudio/en-US/0c0ca087-5e7b-4046-93cb-c7b3e48d0dfb/how-run-client-application-as-a-windows-service-in-c?forum=csharpgeneral
tcmakebest 2015-09-10
  • 打赏
  • 举报
回复
服务本身就不是为了来显示界面用的, 而且它最大的优势也是在没有用户登录的情况下能够正常运行,此时何来界面

110,477

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧