0
A
回答
4
我把这个在我的.dpr文件的代码开始:
if ParamCount>1 then
begin
for i := 1 to ParamCount do
ShellExecute(0, nil, PChar(ParamStr(0)), PChar('"'+ParamStr(i)+'"'),
nil, SW_SHOWDEFAULT);
exit;
end;
这检查,看看是否有比单一命令行参数更多。如果是这样,那么每一个都被交给一个新的进程,并且这个进程终止。
我想你可以把参数2交给N,让这个过程处理参数1.但是,作为一个数学性质,这个版本的对称性吸引了我。
2
只要将droppend文件作为参数传递,就可以为传递的每个参数运行Application的新实例。
在下面显示的示例中,第一个参数将由通过Drog启动的应用程序处理。&在资源管理器中,将为任何其他参数运行应用程序的新实例。
program Project1;
uses
Forms, Shellapi,Messages,Windows,
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
var
i:Integer;
begin
for I := 2 to Paramcount do
ShellExecute(0,'OPEN',PChar(Paramstr(0)),PChar(Paramstr(i)),'',sw_Show);
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
最简单的代码在窗体2可以通过
procedure TForm2.FormCreate(Sender: TObject);
begin
Caption := ParamStr(1);
// whatever should be done with the dropped file
end;
+1
这段代码意味着什么?写一些*句子*解释答案。 – 2013-03-12 19:24:30
1
每个文件例如掉在你的应用程序图标或快捷方式将是一个命令行参数。你可以通过它们循环容易:
var
i: integer;
begin
for i := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(i));
end;
因此,对于每一个,你可以在你的应用程序中(例如,从你的主窗体的OnCreate中)在从项目调用程序打开一个单独的形式,或者你也可以这个代码(.dpr)文件,然后启动您的应用程序的其他实例(为您正在执行的实例保存一个实例)。
E.g.在上面的循环中,您可以使用ShellExecute或CreateProcess启动您自己的实例,将ParamStr(i)作为单个参数传递给该实例。
相关问题
- 1. 可可/对象 - - 打开文件拖放到应用程序图标时
- 2. 如何在C#WPF应用程序中拖放图像文件
- 3. C程序设计:拖放文件在程序的图标
- 4. 如何在iphone地图应用程序中打开KML文件?
- 5. 获取打开文件的默认应用程序的图标
- 6. C#如何使用默认应用程序打开所有的MP3文件
- 7. 如何打开应用程序引擎补丁上的文件?
- 8. 如何获取应用程序拥有的所有打开的图形页面?
- 9. 如何在网格图标菜单上打开应用程序的动作
- 10. 如何上传文件,在iOS应用程序中打开文件后?
- 11. iOS 11拖放:拖放标准日历应用程序
- 12. 从Outlook窗口拖放到.Net中的应用程序.EXE文件(或图标)。
- 13. 如何在打开应用程序时阅读文本文件?
- 14. 如何打开在另一个应用程序中打开的文件
- 15. 如何在HTA文件中使用VBScript打开应用程序
- 16. 在打开的应用程序上是否有事件产生?
- 17. 在iPad上的外部应用程序中打开PDF文件
- 18. 如何在Windows上使用Perl的默认应用程序打开文件?
- 19. 用应用程序打开文件
- 20. Linux mint将文件拖放到我的程序的桌面图标上
- 21. 如何在Qt应用程序中打开文件?
- 22. 如何在Mac应用程序中打开文件
- 23. 如何在iOS应用程序中打开VRML(*。wrl)文件
- 24. 如何在iphone应用程序中打开xls文件?
- 25. 如何在NWJS或Electron应用程序中打开文件?
- 26. 如何在默认应用程序中打开文件。 Ruby
- 27. “用...打开”Windows上的文件,用python应用程序
- 28. 如何用cmd中的默认应用程序打开文件?
- 29. Swift:如何使用关联的应用程序打开文件?
- 30. 如何用我的应用程序打开文件?
你不想为其中一个文件使用当前实例的任何原因? – 2013-03-12 18:29:50
@Andreas我喜欢对称 – 2013-03-12 18:39:04
够公平的。我也想到了这一点。 – 2013-03-12 18:40:28