Как скрыть/показать процесс в C#?C#

Место общения программистов C#
Ответить
Anonymous
 Как скрыть/показать процесс в C#?

Сообщение Anonymous »


Я пытаюсь запустить внешний процесс в приложении Visual C# 2010 — Windows Forms. Цель состоит в том, чтобы запустить процесс как скрытое окно и отобразить его позже.

Я обновил свой прогресс:

//Инициализация [DllImport("user32.dll")] частный статический extern bool ShowWindow (IntPtr hwnd, int nCmdShow); [DllImport("user32.dll")] частный статический extern bool EnableWindow (IntPtr hwnd, bool Enable); [DllImport("user32.dll")] Private static extern bool MoveWindow (дескриптор IntPtr, int x, int y, int width, высота int, перерисовка bool); SW_SHOW = 5; В мою основную функцию было помещено следующее:

Информация ProcessStartInfo = новый ProcessStartInfo("process.exe"); info.WindowStyle = ProcessWindowStyle.Hidden; Процесс p = Process.Start(информация); p.WaitForInputIdle(); IntPtr HWND = p.MainWindowHandle; System.Threading.Thread.Sleep(1000); ПоказатьОкно(HWND, SW_SHOW); EnableWindow (HWND, правда); MoveWindow(HWND, 0, 0, 640, 480, правда); Однако, поскольку окно было запущено как «скрытое», p.MainWindowHandle = 0. Я не могу успешно показать окно. Я также пробовал HWND = p.Handle, но безуспешно.

Есть ли способ предоставить новый дескриптор моему окну? Это потенциально может решить мою проблему.

Ссылки:

Окно MSDN

Форумы MSDN

Как импортировать .dll
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»