在服务中用winexec运行一个命令,不过服务是以system账号来运行的,得不到想要的结果,如何才能让服务启动的时候用administrator账号来运行
    手动设置的话就不要说了

解决方案 »

  1.   

    和用户个人设置有关吗?服务的运行身份是无法改的,Windows的认证机制如此!
      

  2.   

    服务启动的时候都是用administrator账号,只不过启动之后被分配了System权限,目前据我所知好像不能改成admin权限,不知道手动能设置么?
      

  3.   


    是administrator吗?system也是用户呀,
    SID:S-1-5-18
    名称:Local System
    说明:操作系统使用的服务帐户当Windows启动后你用其他用户登录(非Administrator),注册表相关地方是没有保存Administrator用户的信息的。
    SID:S-1-5-domain-500
    名称:Administrator
    说明:系统管理员的用户帐户。默认情况下,它是唯一能够完全控制系统的用户帐户。
      

  4.   

    放假了
    服务启动的时候的确要以Admin权限启动,那个时候还没有system权限,只是启动完毕之后由Windows的服务管理器分配给他System权限
      

  5.   

    用指定帐号加载程序需要知道密码,用LogonUser、CreateProcessAsUser创建进程。
    另一种方式是在安装服务时指定administrator账号和密码,服务本身以administrator身份加载。
    如果想用当前登录用户身份加载程序,用WTSQueryUserToken、CreateProcessAsUser创建进程。
      

  6.   

    http://support.microsoft.com/kb/285879
    找到一个用API实现的,不知道有没有用。