Я использую следующий сценарий VB (пример), чтобы открыть окно CMD и запустить ipconfig на моем WIN XP
Окно CMD было открыто
но по какой-то причине WshShell.SendKeys не отправляет ipconfig в окне CMD
пожалуйста, посоветуйте, по каким причинам WshShell.SendKeys не отправляет "ipconfig"?
Option Explicit
Dim WshShell
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run("cmd.exe")
WScript.Sleep 5000
WshShell.SendKeys "ipconfig"
WshShell.SendKeys("{Enter}")
WScript.Sleep 5000
Метод SendKeys не очень надежен. Иногда он не знает, где находится текущий фокус. Если вы запустите свой скрипт в cmd
-окно работает. Однако ключи отправляются не во вновь открывшуюся оболочку (строка 4ht), а для текущего cmd-окна, в котором был запущен vbs-скрипт.
Пожалуйста, попробуйте следующий код. У меня это сработало.
Dim o, i, strErr
Set o = createobject("WScript.Shell")
strErr = o.Run ("cmd /k ipconfig.exe", 1 , False)
WScript.Echo strErr
'strErr return code, indicating the
Set o = nothing
Ссылка: https://www.codeproject.com/Tips/507798/Differences-between-Run-and-Exec-VBScript