我在C#和Windows Server 2003中创建了一个Windows服务.我希望我的服务能够运行一个Windows文件应用程序的exe文件.当我启动服务时 - 它运行另一个应用程序,但我看不到它.当我打开任务管理器 - 我可以看到应用程序正在运行但我只是看不到它.我检查了"允许服务与桌面交互",但没有任何反应.请帮忙.是否有可能从Windows服务中运行和exe并看到在widnows Server 2003中运行的exe?
从Windows服务显示UI非常有问题,因为该服务可能在与用户不同的桌面上运行(并且在Vista/Server 2008上实际上总是在不同的桌面上运行).
最简单的解决方案是不直接从服务运行UI,而是从运行在用户桌面上的应用程序(可能设置为在登录时运行)以某种方式与服务进行通信.
只记得:
可能没有登录用户
使用快速用户切换或远程桌面可能有多个登录用户
用户桌面上的应用程序在用户的安全上下文中运行,而不是在服务的安全上下文中运行