我有delphi7代码,用于更改当前正在运行的应用程序标题(其他应用程序,而不是我的应用程序)。
procedure TForm1.Button1Click(Sender: TObject);
var
MyHandle: THandle;
begin
MyHandle:=FindWindow(nil, 'Default Form Caption');
SetWindowText(MyHandle, 'New Form Caption');
end;
它更改了窗体的标题,但该窗体的任务栏标题不会更改。如何更改任务栏标题?
答案 0 :(得分:3)
任务栏中显示的文本是与任务栏按钮关联的窗口的窗口文本。因此,只要找到合适的窗口,SetWindowText就能完成这项工作。
您需要的窗口通常是主窗体的窗口。但是,正如这里的情况似乎并非如此。例如,旧的Delphi应用程序将应用程序对象的窗口与任务栏按钮相关联,而不是主窗体的对象。其他框架也可能类似。
要找到正确的窗口,请使用Spy ++之类的工具来研究目标应用程序的窗口层次结构。然后使用FindWindow或FindWindowEx或类似命令找到正确的窗口。然后调用SetWindowText。