|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Скрытый запуск внешнего консольного приложения |
|
.NET - [решено] Скрытый запуск внешнего консольного приложения
|
![]() Старожил Сообщения: 301 |
Всем доброго времени суток... (язык vb.NET)
Столкнулся с тривиальной казалось бы проблемой, но те методы которые вроде бы должны выполнять эту функцию не дают ни какого эффекта... Суть: моей программой используется внешняя программа (утилита Handle.exe от Windows SysInternals), я передаю ей некие аргументы, а с ее StandartOutput читаю к себе в переменную. "Умный справко" говорит: Для запуска процесса, не отображая ее на экране, предварительно укажите ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden ну так... вот и ни хрена ничего не скрывается Public Function UseHandle(ByVal Arg As String) Dim my_handle As New Process Dim myProcessStartInfo As New ProcessStartInfo(System.Windows.Forms.Application.StartupPath & "\Handle.exe") myProcessStartInfo.UseShellExecute = False myProcessStartInfo.RedirectStandardOutput = True myProcessStartInfo.Arguments = Arg myProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden my_handle.StartInfo = myProcessStartInfo my_handle.Start() my_handle.WaitForExit() Return (my_handle.StandardOutput.ReadToEnd) my_handle.Close() End Function Как быть? Shell не пробовал, да и не катит... мне надо процесс как объект юзать. |
|
------- Отправлено: 13:51, 16-01-2011 |
Необычный Сообщения: 4465
|
Профиль | Сайт | Отправить PM | Цитировать RUVATA, может имеет смысл сначала сделать окно невидимым, а уже потом запускать?
|
------- Отправлено: 14:29, 16-01-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать RUVATA если не получается .NET вариант то тогда стоит API вариант запуск приложения с параметром /?
По текущему коду есть замечания.
|
Отправлено: 17:36, 16-01-2011 | #3 |
![]() Старожил Сообщения: 301
|
Профиль | Отправить PM | Цитировать Цитата Admiral:
PS: проблема решена... использованием свойства ProcessStartInfo.CreateNoWindow = True которое требует определенного значения другого свойства ProcessStartInfo.UseShellExecute = False (обязательно) соответственно свойство ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden (действует только для программ с Windows.Forms интерфейсом) вот полностью рабочий пример функции вызывающей handle из директории с программой... handle отрабатывает скрыто. передаваемый аргумент - строка (целевая директория) возвращаемое значение - строка (вывод handle.exe) Public Function UseHandle(ByVal Arg As String) Dim my_handle As New Process Dim myProcessStartInfo As New ProcessStartInfo(System.Windows.Forms.Application.StartupPath & "\Handle.exe") Dim HandleText As String myProcessStartInfo.UseShellExecute = False myProcessStartInfo.RedirectStandardOutput = True myProcessStartInfo.Arguments = Arg myProcessStartInfo.CreateNoWindow = True my_handle.StartInfo = myProcessStartInfo my_handle.Start() my_handle.WaitForExit() HandleText = my_handle.StandardOutput.ReadToEnd my_handle.Close() Return (HandleText) End Function |
|
------- Отправлено: 08:43, 17-01-2011 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - Проблема при запуске службой консольного приложения | kivenko | Windows Server 2008/2008 R2 | 1 | 07-08-2012 09:10 | |
C/C++ - [решено] Запуск консольного приложения с помощью bat-файла | котвася | Программирование и базы данных | 4 | 23-10-2010 20:40 | |
Автозагрзка консольного приложения, без входа в систему | Solker | Microsoft Windows NT/2000/2003 | 2 | 29-12-2009 17:23 | |
MFC - Какие установки в VS2005 для консольного приложения с исключением в связях mfc80u.dll | Viacheslav8 | Программирование и базы данных | 2 | 05-05-2009 17:25 | |
[решено] окно консольного приложения | ogronom | Microsoft Windows 2000/XP | 2 | 12-09-2006 11:27 |
|