VB скрипт + запуск CMD и отображение сетевого адреса с помощью SendKeys
Я использую следующий скрипт 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
1 ответ
Метод 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