发表回复 
关于A_IsAdmin用法求教
2013-11-11, 10 : 53
关于A_IsAdmin用法求教
问一下大家 有没有用过这句函数的朋友?
if not A_IsAdmin
{
Run *RunAs "%A_ScriptFullPath%"
ExitApp
}
我把它加在代码的最上面,然后运行后提示是否以管理员身份运行,如果我选择是的话,没有任何问题,但是我选择否的话,软件就会出现错误,这是为什么呢?
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2013-11-11, 11 : 08
RE: 关于A_IsAdmin用法求教
代码: (全选)
if not A_IsAdmin
{
    Run, *RunAs %A_AhkPath% "%A_ScriptFullPath%"
    ExitApp
}
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2013-11-11, 11 : 17
RE: 关于A_IsAdmin用法求教
(2013-11-11 11 : 08)nepter 提到:  
代码: (全选)
if not A_IsAdmin
{
    Run, *RunAs %A_AhkPath% "%A_ScriptFullPath%"
    ExitApp
}


我把这个代码加到我的代码最顶端就可以了吗?比如说


SetWorkingDir %A_ScriptDir%
#singleinstance ignore
;检测管理员权限
if not A_IsAdmin
{
Run *RunAs "%A_ScriptFullPath%" ; Requires v1.0.92.01+
ExitApp
}
ifnotexist,LB.ini
msgbox,16,提示,缺少关联文件,请先把“LB.ini”`n放在本软件根目录下再重新运行!
ifnotexist,LB.ini
exitapp


这样就行了吗?但是我运行的时候,出现用户账户控制选项,我选择是的时候,代码可以正常运行,但是我选择否的时候代码就会出现错误,这是为什么呢?


附件 缩略图
   
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2013-11-11, 12 : 09
RE: 关于A_IsAdmin用法求教
可以
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2013-11-26, 22 : 17
RE: 关于A_IsAdmin用法求教
(2013-11-11 10 : 53)不下蛋的公鸡 提到:  问一下大家 有没有用过这句函数的朋友?
if not A_IsAdmin
{
Run *RunAs "%A_ScriptFullPath%"
ExitApp
}
我把它加在代码的最上面,然后运行后提示是否以管理员身份运行,如果我选择是的话,没有任何问题,但是我选择否的话,软件就会出现错误,这是为什么呢?

我是这样实现的,定义一个函数
代码: (全选)
RunHK4WINAsAdmin()
{
    global
    local params, uacrep
    Loop %0%
        params .= " " (InStr(%A_Index%, " ") ? """" %A_Index% """" : %A_Index%)
    If(A_IsCompiled)
        uacrep := DllCall("shell32\ShellExecute", uint, 0, str, "RunAs", str, A_ScriptFullPath, str, "/r" params, str, A_WorkingDir, int, 1)
    else
        uacrep := DllCall("shell32\ShellExecute", uint, 0, str, "RunAs", str, A_AhkPath, str, "/r """ A_ScriptFullPath """" params, str, A_WorkingDir, int, 1)
    If(uacrep = 42) ;UAC Prompt confirmed, application may run as admin
        ExitApp
    else
        MsgBox HK4WIN未能获取管理员权限,这可能导致部分功能无法运行。
}

在需要的地方,比如开头,写
代码: (全选)
RunHK4WINAsAdmin()

这样就可以了
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2013-12-08, 17 : 51
RE: 关于A_IsAdmin用法求教
要进行是否以管理员身份运行检查,不然会死循环
代码: (全选)
if not A_IsAdmin
RunHK4WINAsAdmin()
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2014-07-05, 16 : 58
收集
[整理]以管理员身份运行

One for all, but man for himself

帮推广:AHK知乎专栏
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合