Как можно указать заголовок окна для консольного приложения, запущенного с помощью System.Diagnostics.Process.Start ()? - PullRequest
5 голосов
/ 02 декабря 2009

Я запускаю новый экземпляр консольного приложения из моего кода .NET, используя метод Process.Start(). Мне было интересно, могу ли я указать заголовок окна консоли, в котором находится порожденный процесс. Не могу найти ничего подходящего в ProcessStartInfo.

В крайнем случае я могу P / Invoke напрямую общаться с Win32 API, но я бы предпочел этого не делать.

Есть идеи?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 12 октября 2015

Внутри, например Скрипт powershell, который я использую:

# Set the Window Title as a reference
[System.Console]::Title = "Main title of the window"

Понял, может быть полезно: http://blogs.msdn.com/b/rob/archive/2012/08/21/setting-the-title-of-the-command-prompt-window.aspx

2 голосов
/ 22 июля 2011

Я знаю, это звучит так, как будто вы знаете P / Invoke, как это сделать, но для всех остальных это то, как вы это делаете

[DllImport("User32.dll")]
public static extern bool SetWindowText(IntPtr hwnd, string title);


SetWindowText(myProcess.MainWindowHandle, "my new title");
2 голосов
/ 10 декабря 2009

Самый простой способ, который я могу придумать, - это создать командный файл, который устанавливает заголовок (используя команду title), а затем выполняет приложение. Затем запустите файл .bat.

...