Запустить скрытую консоль

#vb.net #console #hidden

#vb.net #консоль #скрыто

Вопрос:

Я пытаюсь запустить скрытое окно консоли при использовании CreateProcess (я не могу использовать класс ProcessStartInfo, потому что я должен запустить его с некоторыми другими специальными настройками)

Я пытался использовать флаг CREATE_NO_WINDOWS, но каким-то образом консоль все еще появляется. Это код, который у меня есть:

 Dim ProzessInfo = New Process_Information
Dim StartInfo = New Startup_Information, PS = New Security_Flags, TS = New Security_Flags

If CreateProcess(Nothing, target, PS, TS, False, PROCESS_CREATION_FLAG.CREATE_NO_WINDOW, Nothing, Nothing, StartInfo, ProzessInfo) = 0 Then MsgBox("Couln't start application")
  

Что я пропустил, чтобы запустить ее скрыто?

Комментарии:

1. Нет, этого достаточно. Вы никому не даете шанса помочь вам устранить проблему с таким неадекватным фрагментом.

Ответ №1:

Возможно, вы захотите попробовать

 AppwinStyle.Hide, True
  

MSDN AppWinStyle

Или

РЕДАКТИРОВАТЬ: Попробуйте это для процессов

 Dim psi1 As New ProcessStartInfo("file path here")
Process.CreateNoWindow = True
  

В зависимости от вашей конечной цели вы всегда можете изменить тип приложения на Windows Forms Application. (Предполагается, что сейчас вы запускаете консольное приложение.)

Комментарии:

1. Но этот API можно использовать, только если я использую функцию «Shell»

2. Вы используете консольное приложение? Я думаю, если вы хотите скрыть все окна, вы можете изменить тип на формы. Или это не то, что вам нужно?

3. Выглядит неплохо, но могу ли я также использовать Startup_Info и Process_Information CreateProcess в этом методе? О, и да, я запускаю консольное приложение