Я предполагаю, что вы хотите сделать это программно в C #?
Вам нужно будет определить этот P / Invoke внутри вашего класса:
[DllImport("user32.dll")]
static extern int SetWindowText(IntPtr hWnd, string text);
Тогда есть некоторый код, которыйвыглядит примерно так:
Process visualStudioProcess = null;
//Process[] allProcesses = Process.GetProcessesByName("VCSExpress"); // Only do this if you know the exact process name
// Grab all of the currently running processes
Process[] allProcesses = Process.GetProcesses();
foreach (Process process in allProcesses)
{
// My process is called "VCSExpress" because I have C# Express, but for as long as I've known, it's been called "devenv". Change this as required
if (process.ProcessName.ToLower() == "vcsexpress" ||
process.ProcessName.ToLower() == "devenv"
/* Other possibilities*/)
{
// We have found the process we were looking for
visualStudioProcess = process;
break;
}
}
// This is done outside of the loop because I'm assuming you may want to do other things with the process
if (visualStudioProcess != null)
{
SetWindowText(visualStudioProcess.MainWindowHandle, "Hello World");
}
Документ по процессу: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx
Документ по P / Invoke: http://msdn.microsoft.com/en-us/library/aa288468%28VS.71%29.aspx
Попробовать этот код на моем локальном компьютере,кажется, что он устанавливает заголовок окна, но Visual Studio перезаписывает его при многих условиях: получает фокус, входит / выходит из режима отладки ... Это может быть хлопотно.
Примечание. Вы можете получить заголовок окна прямо изОбрабатывать объект, но вы не можете его установить.