我正在尝试添加VS扩展名,以更改标题栏文本。我找到了工具,但我的扩展程序中需要它。
我尝试过:
var dte = GetServiceAsync(typeof(DTE)) as DTE2;
if(!(dte is null))
dte.MainWindow.Caption = "Name";
但它不起作用。
类似地,
[DllImport("user32.dll")]
private static extern bool SetWindowText(IntPtr hWnd, string lpString);
var proc = Process.GetCurrentProcess();
SetWindowText(proc.MainWindowHandle, "Name);
只需更改Process.MainWindowTitle
答案 0 :(得分:0)
如果我没记错的话,我相信扩展是在它自己的进程中,因此您首先需要找到正在运行的VS2017进程,然后获取该句柄并运行SetWindowText
。
var processes = Process.GetProcessesByName("devenv");
foreach(var process in processes)
{
SetWindowText(process.MainWindowHandle, "Name");
}
大注:
作为开发人员,请不要在Visual Studio中弄乱我的标题栏。重构和其他各种任务时,我经常将它们用作工作项目和参考项目之间的参考。