如何为使用System.Diagnostics.Process.Start()启动的控制台应用程序指定窗口标题?

时间:2009-12-02 16:24:23

标签: .net processstartinfo

我正在使用Process.Start()方法从我的.NET代码启动一个控制台应用程序的新实例。我想知道是否可以指定托管生成进程的控制台窗口的标题。在ProcessStartInfo找不到合适的内容。

作为最后的手段,我可​​以P / Invoke直接与Win32 API对话,但我不愿意。

有什么想法吗?

感谢。

3 个答案:

答案 0 :(得分:3)

在例如我使用的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

答案 1 :(得分:2)

我能想到的最简单的方法是创建一个设置标题的批处理文件(使用title命令),然后执行应用程序。然后改为启动.bat文件。

答案 2 :(得分:2)

我知道听起来你知道P / Invoke这样做的方式,但对于其他任何人来说这就是你做的事情

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


SetWindowText(myProcess.MainWindowHandle, "my new title");