已经设了桌面交互,2003管用。win7 64位不管用。

解决方案 »

  1.   

    1、使用托盘控件,让服务器呈“窗口”和“托盘”二种状态,通过鼠标点击图标控制。
    2、使用TTimer控件,开机延时启动另一程序,在OnTimer事件中,调用下列函数即可:
    shellexecute(handle,'open',pchar(FileN),'',nil,sw_shownormal);
      

  2.   


    1、我们的程序有托盘图标,不过它在session0中,session中没桌面。
    2、shellexecute出来的程序还是在session0中,2003能显示在session1
      

  3.   

    Windows Vista以后服务和桌面是完全隔离的了.
    想要在服务里面启动桌面程序也能办到,但比较复杂.
    要找到用户登录后进程token,然后复制这个token,切换线程上下文到当前登录用户,用这个token调用CreateProcessAsUser,错一步也不行
      

  4.   

    我找到了一段C++代码,不过我对C++不熟悉,工作中也用不着,早忘光了,就是找不到Delphi的。
      

  5.   

    我还试过在注册表的run里加一个程序,然后和服务用管道沟通。能实现,但是很容易被禁用,不好。
      

  6.   

    谁能提供一段代码?还有从dll中引出函数的代码
      

  7.   

    现在是delphi不行,还是csdn不行?失望!