kn007 发表于 2009-9-29 13:30:05

请看录像,注意任务栏右边

录像工具,视频有给出程序名称,自己下

pusofalse 发表于 2009-9-29 13:39:14

出错的可能原因:
1, 系统问题,或者以上代码不是在管理员权限下运行。
2, 当前系统中的Winlogon.exe不是系统权限。
3, 当前系统中的explorer.exe不是当前登录用户所创建。

将自身进程提升到系统级,方法有很多。
临时文件、进程的用户名、运行参数。。。我觉得根据进程的用户名,判断是否是系统权限这种方法最保险。
还是算了,用最简单的创建临时文件法吧:#include <LocalSecurityAutority.au3>
If Not FileExists(@TempDir & "\RaiseToSystem.tmp") Then
        FileWrite(@TempDir & "\RaiseToSystem.tmp", 1)
        If @Compiled Then
                $sApp = @ScriptFullPath
                $sArg = " " & $CmdLineRaw
        Else
                $sApp = @AutoItExe
                $sArg = " " & FileGetShortName(@ScriptFullPath) & " " & $CmdLineRaw
        EndIf
        _CreateProcessAsSystem($sApp, $sArg, "Winlogon.exe")
        Exit
Else
        FileDelete(@TempDir & "\RaiseToSystem.tmp")
EndIf

Msgbox(0, '', "User name: " & @UserName)

kn007 发表于 2009-9-29 14:00:37

我这是最高级用户admin的全称,只要我这个用户,guest未启用,你们编译好的东西,我都可以,但我的就不行。。。

kn007 发表于 2009-9-29 14:00:51

有可能是au3版本问题

kn007 发表于 2009-9-29 14:04:52

试了下,好像又不是。。。倒

kn007 发表于 2009-9-29 14:06:22

出错的可能原因:
1, 系统问题,或者以上代码不是在管理员权限下运行。
2, 当前系统中的Winlogon.exe不是系统权限。
3, 当前系统中的explorer.exe不是当前登录用户所创建。

将自身进程提升到系统级,方法有 ...
pusofalse 发表于 2009-9-29 13:39 http://www.autoitx.com/images/common/back.gif
排除2与3,可能系统问题。。。你这个要怎么用?
页: 1 [2]
查看完整版本: pusofalse 大大,请教下!