CreateProcessAsUser的1314错误解决方案

目的:让程序运行在别的用户权限下。

2000下可以正常使用,但是对于xp网上的各种权限Token设置均无效……所以,建议大家使用CreateProcessWithLogonW函数来进行这个操作。

如果你要对创建出的子程序进行重定向,请注意一定要设置STARTINFO中的hStdError = hSTDOUTwr;否则会爆出Invalid HANDLE的错误,而这在Createprocess中是不会报错的。。。。

另外,如果出现编译时“无法找到CreateProcessWithLogonW”的情况,请更新您的Windows SDK到2003 sp1,欢迎大家留言继续探讨这个问题。。

2 thoughts on “CreateProcessAsUser的1314错误解决方案

  1. littlewater

    MSDN说,XP下面要用必须要有服务级别的权限的,一般写服务的时候才使用这个函数,用CreateProcessWithLogonW的一个麻烦就是在XP下面(WIN7下OK)无法添加到自己的JOB中去,也没有办法离开那个JOB,强制会被添加到大概是secondarylogon下去,如果使用远程或者切换到新的用户却又可以添加到JOB中去……

    现在正在摸索有没有办法自动把JOB添加到新的winlogon.exe下去

    Reply
    1. a

      win10下也出现这个错误,请问是怎么解决的?
      我是使用一个普通用户 使用CreateProcessAsUser创建一个管理员进程打开一个管理员权限的程序

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *