返回列表 发帖

[问题求助] vbs在win10环境下运行提示要提升权限

本帖最后由 winsfly 于 2024-3-5 19:57 编辑
dim program
program=zc.exe
set Wshell=CreateObject("Wscript.Shell")
set oexec=Wshell.Exec(program)
wscript.Sleep 3000
Wshell.SendKeys "123"
wscript.Sleep 200
Wshell.SendKeys "{TAB}"
wscript.Sleep 200
Wshell.SendKeys "cszlpa"
wscript.Sleep 200
Wshell.SendKeys "{ENTER}"COPY
在win10运行时会提示请求的操作需要提升,所以求一段代码放在 前面提前运行获取管理员权限

回复 1# winsfly


    其实还有种办法可以达到目的,不用启动快捷方式,在命令里面指定进入该游戏的exe目录再运行此游戏程序也可以达到目的,求助大侠

TOP

set Wshell=CreateObject("Wscript.Shell")
set Link = WShell.CreateShortcut(program)
exead=link.targetpath'这是目标的exe的地址

program=zc.exe 这条语句是错的 不知道你是怎么运行成功的

TOP

dim program
program="a.lnk"
set Wshell=CreateObject("Wscript.Shell")
set Link = WShell.CreateShortcut(program)
exead=link.targetpath
Wshell.run(exead)
wscript.Sleep 3000
Wshell.SendKeys "123"
wscript.Sleep 200
Wshell.SendKeys "{TAB}"
wscript.Sleep 200
Wshell.SendKeys "cszlpa"
wscript.Sleep 200
Wshell.SendKeys "{ENTER}"COPY
如果你想方便地输入几组账号密码 可能需要一个循环

TOP

运行命令并带参数
p = """C:\Program Files\Google\Chrome\Application\chrome.exe"" https://www.baidu.com/"
set Wshell = CreateObject("Wscript.Shell")
Wshell.Run p
wscript.Sleep 3000
Wshell.SendKeys "123"
wscript.Sleep 200
Wshell.SendKeys "{TAB}"
wscript.Sleep 200
Wshell.SendKeys "cszlpa"
wscript.Sleep 200
Wshell.SendKeys "{ENTER}"COPY

QQ 20147578

TOP

set Wshell=CreateObject("Wscript.Shell")
Set objShell = CreateObject("WScript.Shell")
objShell.CurrentDirectory = "D:\impk1.11" rem 前面双引号内为暗黑游戏根目录
dim a
a="D2loader.exe -w -nohide -lq -direct -skiptobnet -pdir zcms -title AAAAAAAA"
set ea=Wshell.Exec(a)
wscript.Sleep 3000 rem 启动到登录界面的延时时间,网速慢的稍微调成3000(3秒)以上
Wshell.SendKeys "123456" rem 前面双引号内为账号a密码
wscript.Sleep 200
Wshell.SendKeys "{TAB}"
wscript.Sleep 200
Wshell.SendKeys "账号a" rem 前面双引号内为账号a名称
wscript.Sleep 200
Wshell.SendKeys "{ENTER}"COPY
回复 5# czjt1234

win7可以正常运行,但是win10会提示提升权限,想求一段让本vbs已管理员权限运行的代码放到 前面执行

TOP

Call RunAsAdmin()    '以管理员权限运行vbs
Sub RunAsAdmin()
    Dim oWshShell, oShell, s, i
    Set oWshShell = CreateObject("WScript.Shell")
    If oWshShell.Run("fltmc.exe", 0, True) = 0 Then Exit Sub
    s = """" & WScript.ScriptFullName & """ "
    For Each i In WScript.Arguments
        If InStr(i, " ") > 0 Then i = """" & i & """"
        s = s & i & " "
    Next
    Set oShell = CreateObject("Shell.Application")
    oShell.ShellExecute "WScript.exe", Left(s, Len(s) - 1), , "runas"
    WScript.Quit()
End SubCOPY

    fltmc.exe是Windows自带的程序,有管理员权限时能正常运行,返回值为0
    在winxp、win7、win10、win11中均测试通过

    注意,以管理员权限运行vbs,并不是绕过管理员权限限制
    所以还是可能会有是否允许继续运行的提示

QQ 20147578

TOP

返回列表