JumpList到Delphi上的所有打开表单

时间:2016-01-20 16:09:46

标签: windows delphi

在我所有表单的OnCreate事件中,我将其名称添加到JumpList

var
  i: Integer;
begin
  if JumpList = nil then
    JumpList := TJumpList.Create(Application);
  JumpList.TaskList.Clear;
  for i := 0 to OpenForms.Count - 1 do
    JumpList.AddTask(OpenForms[i].Caption);
  JumpList.UpdateList;
  JumpList.Enabled := true;
end;

我希望在跳转列表中调用时显示单击的表单。

我知道我应该阅读Windows使用新应用程序实例发送的消息,但我找不到任何文档来说明它发送的消息类型。

只需要知道我在哪里可以找到我想要的信息。

感谢

1 个答案:

答案 0 :(得分:3)

当您致电AddTask时,会返回TJumpListItem个实例。您应该设置该实例的Arguments属性。

  

<强>描述

     

包含您的可执行文件的命令行参数的字符串   项目

     

当用户选择您的项目时,Windows会在Path中调用可执行文件   并将该可执行文件的Arguments内容作为参数传递。

然后,当用户单击跳转列表项时,将启动可执行文件并将指定的参数传递给它。您需要使用ParamCountParamStr读取这些命令行参数,并相应地对其进行响应。

因为指定参数是创建任务的关键部分,所以AddTask方法有一个可选参数来执行此操作。所以你可以这样做。

JumpList.AddTask(YourTasksFriendlyName, '', YourTasksArguments);

请注意,第二个参数指定Path,传递''表示您希望使用调用可执行文件的路径。

或者你可以这样做:

JumpListItem := JumpList.AddTask(YourTasksFriendlyName);
JumpListItem.Arguments := YourTasksArguments;