pusofalse 大大,请教下!
_RaiseToSystem这东西可以干啥呢,要啥好啊?为什么我不能用?
一用就鸟蛋了,在没有#NoTrayIcon的情况下发现,右下角的图标总是出来,然后就不见,出来,不见。。。进程一会两个,一会一个。。。。。
只能用DO ... until 结束进程。。。
该不会源码有错吧,<LocalSecurityAuthority.au3>是最新版本
发觉是Exit(_HeapFree($pUserLogged) or _HeapFree($pUserThread))这个错误,但如果注释掉,将会有无数个进程,头大了
#include <LocalSecurityAuthority.au3>
_RaiseToSystem()
Func _RaiseToSystem()
Local $sApp, $sArg, $hToken, $pUserThread, $pUserLogged
$pUserLogged = _LookupAccountName(_LsaGetUserName(False))
$hToken = _OpenProcessToken(-1)
$pUserThread = _LookupAccountName(_GetTokenUser($hToken))
_LsaCloseHandle($hToken)
If _EqualSid($pUserLogged, $pUserThread) Then
If @Compiled Then
$sApp = @ScriptFullPath
$sArg = " " & $CmdLineRaw
Else
$sApp = @AutoItExe
$sArg = " " & FileGetShortName(@ScriptFullPath) & " " & $CmdLineRaw
EndIf
_CreateProcessAsSystem($sApp, $sArg, "Winlogon.exe")
Exit(_HeapFree($pUserLogged) or _HeapFree($pUserThread))
EndIf
Return _HeapFree($pUserLogged) or _HeapFree($pUserThread)
EndFunc ;==>_RaiseToSystem 专心看书,要考试了吧!还问。。。 KN007还在读书?读什么呢? 读高三 专心看书,要考试了吧!还问。。。
水木子 发表于 2009-9-28 22:26 http://www.autoitx.com/images/common/back.gif
我即喜欢读书,又喜欢电脑。。。 我读书那时要是有现在的条件又好了!俺高三毕业就去学的电脑,现在工作已6年了……
加油!争取考进清华北大:face (33): 怎么不是北大清华?!
多谢吉言了 工作!?
请问下,您是做什么的? 做网吧维护 好好学吧 将来有极大的可能性和群里的大多数人一样做没有前途的网管 帖子标题有些问题。
_RaiseToSystem函数是提升到系统级权限的,把它放在你的代码头部,可以使你的程序以系统级权限运行。
在我这里测试毫无问题,只是双击程序时,会在托盘中显示两次程序图标,这不是BUG,代码也没有问题,因为_RaiseToSystem就是这样工作的,LocalSecurityAuthority.au3只能创建系统级进程,而不能直接把运行中的普通用户进程转为系统级。如果你那里测试不行的话,把Exit(_HeapFree($pUserLogged) or _HeapFree($pUserThread))那句改为如下:
_HeapFree($pUserLogged)
_HeapFree($pUserThread)
Exit
还是不正常 上附件!
请大大帮帮忙,我对这玩意挺感兴趣的 我这里测试一切OK,你那里出现什么错误,会连续创建无数个1.exe? 运行1.exe无反应,CPU双核,一核心100%,右下角的图标时隐时现,进程一会1个,一会两个,都是1秒钟的事
页:
[1]
2