[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

回复 1# winsfly


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

TOP

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

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

TOP

  1. dim program
  2. program="a.lnk"
  3. set Wshell=CreateObject("Wscript.Shell")
  4. set Link = WShell.CreateShortcut(program)
  5. exead=link.targetpath
  6. Wshell.run(exead)
  7. wscript.Sleep 3000
  8. Wshell.SendKeys "123"
  9. wscript.Sleep 200
  10. Wshell.SendKeys "{TAB}"
  11. wscript.Sleep 200
  12. Wshell.SendKeys "cszlpa"
  13. wscript.Sleep 200
  14. Wshell.SendKeys "{ENTER}"
复制代码
如果你想方便地输入几组账号密码 可能需要一个循环

TOP

运行命令并带参数
  1. p = """C:\Program Files\Google\Chrome\Application\chrome.exe"" https://www.baidu.com/"
  2. set Wshell = CreateObject("Wscript.Shell")
  3. Wshell.Run p
  4. wscript.Sleep 3000
  5. Wshell.SendKeys "123"
  6. wscript.Sleep 200
  7. Wshell.SendKeys "{TAB}"
  8. wscript.Sleep 200
  9. Wshell.SendKeys "cszlpa"
  10. wscript.Sleep 200
  11. Wshell.SendKeys "{ENTER}"
复制代码

QQ 20147578

TOP

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

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

TOP

  1. Call RunAsAdmin()    '以管理员权限运行vbs
  2. Sub RunAsAdmin()
  3.     Dim oWshShell, oShell, s, i
  4.     Set oWshShell = CreateObject("WScript.Shell")
  5.     If oWshShell.Run("fltmc.exe", 0, True) = 0 Then Exit Sub
  6.     s = """" & WScript.ScriptFullName & """ "
  7.     For Each i In WScript.Arguments
  8.         If InStr(i, " ") > 0 Then i = """" & i & """"
  9.         s = s & i & " "
  10.     Next
  11.     Set oShell = CreateObject("Shell.Application")
  12.     oShell.ShellExecute "WScript.exe", Left(s, Len(s) - 1), , "runas"
  13.     WScript.Quit()
  14. End Sub
复制代码

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

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

QQ 20147578

TOP

返回列表