本帖最后由 global_biz 于 2014-07-07 18:56:39 编辑

解决方案 »

  1.   


    是什么意思?为什么我双击又可以显示托盘图标?另外,那个 TestForm.exe 运行后,会在后台当成一个服务接收一些事件,我从 TestForm.exe 生成的日志可以看到,当 TestForm.exe 被运行后,不管是用双击或者是用 Process 启动,那些日志都是正常在后台运行。是不是因为我第二个是 Windows Service (Windows 服务)的应用,所以,在 Windows Service 里面不能显示 Form 界面吗???可否给个解决方法?因为现在需要从Windows Service 服务程序里面启动有界面的 TestForm.exe 
      

  2.   

    需要注意,两个问题,,,
    第一:从Vista开始,服务与用户进程运行在不同的会话中,你这种方法从服务中启动TestForm程序,则该程序运行在会话0,而那个会话你是看不到的。所以你看不到UI。第二:启动程序时,子进程会继承父进程的环境变量,包括当前工作目录等一些信息。你需要使用ProcessStartInfo ,设置里面的WorkingDirectory,以防止有些程序考虑不周到,无法正常加载数据。
      

  3.   

    不过应该有办法能够让服务启动程序的时候按某个用户来启动
    AB_PLC的OPC:RSLINX软件,就是后台运行一个服务,当有OPC访问的时候,启动客户端程序显示.
    不过C#能否实现就不知道了.那个目测是JAVA的.
      

  4.   

    你启动一个程序需要费那么大的劲么?一句代码搞定。Process.Start("程序路径");
      

  5.   

    你不会用
    ShellExecuteA or CateProcess?