如何更改当前运行的应用程序的任务栏标题?

时间:2013-12-26 12:43:51

标签: delphi delphi-7

我有delphi7代码,用于更改当前正在运行的应用程序标题(其他应用程序,而不是我的应用程序)。

procedure TForm1.Button1Click(Sender: TObject);
var
 MyHandle: THandle;
begin
 MyHandle:=FindWindow(nil, 'Default Form Caption');
 SetWindowText(MyHandle, 'New Form Caption');
end;

它更改了窗体的标题,但该窗体的任务栏标题不会更改。如何更改任务栏标题?

1 个答案:

答案 0 :(得分:3)

任务栏中显示的文本是与任务栏按钮关联的窗口的窗口文本。因此,只要找到合适的窗口,SetWindowText就能完成这项工作。

您需要的窗口通常是主窗体的窗口。但是,正如这里的情况似乎并非如此。例如,旧的Delphi应用程序将应用程序对象的窗口与任务栏按钮相关联,而不是主窗体的对象。其他框架也可能类似。

要找到正确的窗口,请使用Spy ++之类的工具来研究目标应用程序的窗口层次结构。然后使用FindWindow或FindWindowEx或类似命令找到正确的窗口。然后调用SetWindowText。