论坛首页 编程语言技术论坛

Windows Service开发的一个经典问题

浏览 19612 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (11)
作者 正文
   发表时间:2011-02-25  
OK!问题解决,不使用show方法,而是ShowDialog方法!
public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {

            Form ooo = new Form();
            ooo.ShowDialog();
        }

        protected override void OnStop()
        {

        }
    }
再加上:在开发模式下,在为Service添加的ServiceProcessInstaller属性中的Account设置为LocalSystem,然后编译,使用installutil进行安装到windows Service编录(管理器),然后在对应的服务属性中【登录】页中,设置本地系统账户的【允许与桌面交互】选项被选中,最后启动服务,此时桌面就会显示出来。并且UI可以正常操作了。
0 请登录后投票
   发表时间:2011-02-25  
正解!我看此课题可以结案了。good!感谢大家
0 请登录后投票
   发表时间:2011-09-08  
我在写Windows服务的时候 想要实现打印功能  看了MSDN上的实例 但是还是遇到一些问题 用的api 调用的这个函数CreateProcessAsUser  不知道你们有没有用过 虽然我还是没搞明白这个东东 一直不知道它运行的进程 例如cmd.exe 可以实现 而用自己.net写的程序就不行!但是里面好像有一个参数是现实窗体的!
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics