![]() |
Скрытый запуск внешнего консольного приложения
Всем доброго времени суток... (язык vb.NET)
Столкнулся с тривиальной казалось бы проблемой, но те методы которые вроде бы должны выполнять эту функцию не дают ни какого эффекта... Суть: моей программой используется внешняя программа (утилита Handle.exe от Windows SysInternals), я передаю ей некие аргументы, а с ее StandartOutput читаю к себе в переменную. "Умный справко" говорит: Для запуска процесса, не отображая ее на экране, предварительно укажите ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden ну так... вот и ни хрена ничего не скрывается Код:
Public Function UseHandle(ByVal Arg As String) Как быть? Shell не пробовал, да и не катит... мне надо процесс как объект юзать. |
RUVATA, может имеет смысл сначала сделать окно невидимым, а уже потом запускать?
|
RUVATA если не получается .NET вариант то тогда стоит API вариант запуск приложения с параметром /?
По текущему коду есть замечания.
|
Цитата:
PS: проблема решена... использованием свойства ProcessStartInfo.CreateNoWindow = True которое требует определенного значения другого свойства ProcessStartInfo.UseShellExecute = False (обязательно) соответственно свойство ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden (действует только для программ с Windows.Forms интерфейсом) вот полностью рабочий пример функции вызывающей handle из директории с программой... handle отрабатывает скрыто. передаваемый аргумент - строка (целевая директория) возвращаемое значение - строка (вывод handle.exe) Код:
Public Function UseHandle(ByVal Arg As String) |
Время: 08:37. |
Время: 08:37.
© OSzone.net 2001-