Если вы не возражаете против появления кнопки на панели задач *1001*, вы можете просто переместить окно консоли за пределы экрана перед его запуском.
Если клавиша HKCU\Console\WindowPosition
существует, Windows будет использоватьего значение для позиционирования окна консоли.Если ключ не существует, вы получите системное окно.
Итак, сохраните исходное значение этого ключа, установите собственное значение, чтобы расположить его за пределами экрана, вызвать Exec()
и захватить еговывод, затем восстановите исходное значение ключа.
Ключ WindowPosition
ожидает 32-разрядное значение.Старшее слово - это координата X, а младшее - это координата Y (XXXXYYYY
).
With CreateObject("WScript.Shell")
' Save the original window position. If system-positioned, this key will not exist.
On Error Resume Next
intWindowPos = .RegRead("HKCU\Console\WindowPosition")
On Error GoTo 0
' Set Y coordinate to something crazy...
.RegWrite "HKCU\Console\WindowPosition", &H1000, "REG_DWORD"
' Run Exec() and capture output (already demonstrated by others)...
.Exec(...)
' Restore window position, if previously set. Otherwise, remove key...
If Len(intWindowPos) > 0 Then
.RegWrite "HKCU\Console\WindowPosition", intWindowPos, "REG_DWORD"
Else
.RegDelete "HKCU\Console\WindowPosition"
End If
End With
Если вы действительно хотите убедиться, что координаты находятся вне экрана, вы можетеполучить размеры экрана через VBScript с помощью IE или других инструментов.