gpt4 book ai didi

delphi - 如何使用通过 shell open 调用的 Delphi 程序打开多个文件

转载 作者:行者123 更新时间:2023-12-03 18:07:22 26 4
gpt4 key购买 nike

我目前正在使用:

if ParamStr(1)<>'%1' then
begin
address.Text:=ParamStr(1);
autoconfigfile;
end;

通过文件关联获取用于打开文件的文件的名称。

我现在想开发对多个文件进行操作的能力。IE。如果我选择 5 个文件并右键单击并选择使用“加密系统”打开。我有注册表项:

  reg.OpenKey('*\shell\Encrypt\command', true);
reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
reg.CloseKey;

为所有文件添加右键单击打开功能。然后我想要检测的能力

  1. 多少个文件
  2. 每个文件的路径名

最佳答案

除此之外,您应该使用 %l 而不是 %1。这样您的程序将获得文件的完整(长)名,而不是短名(DOS 8.3)。

编辑:Rob 在评论中的问题的答案

似乎几乎不可能使用 Google 或 MSDN 搜索来搜索“%l”和“%1”(包括百分号)。 :( 但是,我在 The Old New Thing - '%1' 自动检测您的程序是否支持长文件名并传递短文件名或长文件名。似乎所有现代系统都传递长名称​​除非找不到您的 exe(至少我是这样理解 Raymond 的 expose)。

如果您在评论中进一步向下滚动(在页面上搜索“%l”),您将找到所有支持参数的列表,这些参数取自某个不再存在的页面(但我找到了一个旧副本在 Internet Archive 中)。该页面也不包含对 Microsoft 文档的任何引用,因此我无法为您提供权威链接 :(

Rob,谢谢你的提问 - 我现在比以前更了解 %1/%l :) 为此 +1。

关于delphi - 如何使用通过 shell open 调用的 Delphi 程序打开多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/600490/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com