系统:win7
开发一个windows服务,服务运行的时候能够调用自己写的一个form,我用process.start("..")却没能打开,也没有报错。请问要怎么实现?(服务我已设置可与桌面交互,还是没效果)
另,可否windows服务实现电脑锁定键盘和鼠标功能?望各位大大不吝指教,多谢。

解决方案 »

  1.   

    要把服务的执行用户选为你登录的那个用户,而不是system、network service等用户。
      

  2.   

    你的窗体是在你的服务中内置的还是另外的程序做的,如果是另外的程序,用start可以调用,如果是服务程序本身的窗体,需要在main(string[] arg)中添加代码Application.Run(new form1());才能调用,代码可以这么写
    [code]
    main(string[] arg)
    {
        if(arg.length > 0)
        {
          if(arg[0] == 'showform')
          {
              Application.Run(new form1());
          }
        }
        else
        {
          //运行服务那个部分代码
        }
    }
    [/code]
    对于服务程序来说只能在执行exe的时候调用窗体,而且窗体和服务通讯需要用到win32 api,不能在服务start中调用。
      

  3.   

    已经找到原因了,是路径的问题,我现在用startuppath就好了。谢谢楼上几位的朋友的帮忙。