如何知道在应用程序图标上拖放多少文件?

时间:2012-11-17 23:47:59

标签: delphi

在ParamStr(1)中找到应用程序图标上删除的文件的名称。

但是,如何知道是否有多个?因为,如果有更多,那么应该显示错误信息,例如:'你只能打开一张图片!'或类似的。

2 个答案:

答案 0 :(得分:4)

Windows只是执行你的程序:

yourapp.exe "C:\file1.jpg" "C:\file2.jpg"

因此,可以在ParamStr(i)中找到这些文件中的每一个,其中i最多可以返回ParamCount()

所以你可以这样做:

procedure TMainForm.FormShow(Sender: TObject);
begin
  if ParamCount > 1 then
  begin
    ShowMessage('You can open only one picture!');
  end
  else
  begin
    MyOpen(ParamStr(1));
  end;
end;

答案 1 :(得分:2)

通过示例回答,每个文件都是参数

var
 i:Integer;

begin

  Memo1.Lines.Add(IntToStr(ParamCount));
  for I := 1 to ParamCount  do
    memo1.Lines.Add(paramstr(i))

end;