gpt4 book ai didi

C# - 如何重命名我启动的进程窗口?

转载 作者:太空狗 更新时间:2023-10-29 20:47:11 24 4
gpt4 key购买 nike

有什么方法可以重命名已启动的应用程序的窗口标题栏? IE。如果我启动 Notepad.exe,我可以将其标题栏从“无标题 - 记事本”重命名为“新记事本名称”。

最佳答案

您可以使用 P/Invoke 来完成:

[DllImport("user32.dll")]
static extern int SetWindowText(IntPtr hWnd, string text);



private void StartMyNotepad()
{
Process p = Process.Start("notepad.exe");
Thread.Sleep(100); // <-- ugly hack
SetWindowText(p.MainWindowHandle, "My Notepad");
}

代码示例中丑陋的 hack 的背景是,似乎您在启动进程后立即调用 SetWindowText,标题不会改变。可能消息在记事本的消息队列中结束得太早,所以记事本之后会重新设置标题。

另请注意,这是一个非常简短的更改;如果用户选择"file"->“新建”(或执行任何其他会导致记事本更新窗口标题的操作),原始标题将返回...

关于C# - 如何重命名我启动的进程窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1016823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com