none
Vista32下如何实现服务启动程序? RRS feed

  • 问题

  • 我需要实现下面的要求:vista下,第一次插入光盘时,AutoRun将光盘中文件拷贝到指定目录下,完成后,启动服务A.exe,而服务A.exe启动应用程序B.exe。服务A.exe有光盘伺服功能,再次插入光盘时,检测文件是否完整,若完整则只启动应用程序B.exe。

    我目前的步骤如下;

    1。自动提升A.exe的权限,我将A.exe改成了AInstall.exe,并写了相对应的manifest文件AInstall.exe.manifest。

    2。为了提升权限,将B.exe改成BInstall.exe,并写了相对应的manifest文件BInstall.exe.manifest。

    运行的结果如下:

    1。查看任务管理器,AInstall.exe启动了;

    2。查看任务管理器,BInstall.exe启动了;

    3。但是,BInstall.exe没有显示UI界面。

    4。在任务管理器中,结束BInstall.exe,再次插入光盘,由于AInstall.exe没有退出,会启动BInstall.exe,这时Vista会跳出提升框:程序无法在桌面显示消息,选中消息框的显示消息选项,这时BInstall.exe会跳出UI,不过是在另外的界面(没见过这种情况,不是当前的桌面)。

     

    上面的要求在windows xp下完全实现。

    不知是否是vista下服务和应用有什么关键的地方不知道。

    不知道有哪位能提供帮助,解决上面的问题3,4。

    不胜感谢。

    zhangjianke629@yahoo.com.cn

    • 已移动 孟宪会 2009年5月19日 9:57 ([Loc]From:Windows Vista 开发相关讨论)
    2008年6月12日 9:01

答案

  • 你的这两个进程要是与Windows服务的方式运行,你需要看一下你启动服务的用户,他要是和你现在登陆的用户不再一个会话里面就会导致没法看到用户界面!

    2008年7月23日 6:53
  • 您可以通过创建windows service工程来实现。然后通过installutil.exe来讲windows service注册到系统中

     

    2008年7月25日 9:25

全部回复

  • 我在网上看贴,了解到添加应用程序Exename.exe相对应的Exename.exe.manifest的文件,双击程序的时候能够跳出提升权限的提升框,可我希望通过服务自动运行程序。不知道大家有没有什么好主意。

    自己顶一下。

    2008年6月12日 14:10
  • 你的这两个进程要是与Windows服务的方式运行,你需要看一下你启动服务的用户,他要是和你现在登陆的用户不再一个会话里面就会导致没法看到用户界面!

    2008年7月23日 6:53
  • 您可以通过创建windows service工程来实现。然后通过installutil.exe来讲windows service注册到系统中

     

    2008年7月25日 9:25