Putao 2002年01月02日
程序怎样从资源管理器的右键命令中接受多个文件并且本身只运行一次?
就像在资源管理器中选择多个文件,右击UltraEdit-32,UltraEdit只打开一个窗口,但却打开了多个页来显示这些文件.

我在工程文件(.dpr)中用这段代码实现本身只运行一次:
var hMutex, Ret: integer;
begin
Application.Initialize;
Application.Title := 'aaaaaaa';
hMutex := CreateMutex(nil, false, 'aaaaaaa');
Ret := GetLastError;
if Ret <> ERROR_ALREADY_EXISTS Then
begin
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end
else
ReleaseMutex(hMutex);
end.

在MainForm的Create事件中用这段代码接受参数:
if ParamCount <> 0 then
begin
tmpFileLists := TStringList.Create;
for ix := 1 to ParamCount do
tmpFileLists.Add(ParamStr(ix));
end;

可是当我在资源管理器中选择多个文件,然后右击"Process"(右键启动的注册表配置我已经确认可用),总是只接受到其中的一个文件.

请问怎样改代码才能实现UltraEdit那样的功能?

谢谢!
...全文
78 点赞 收藏 10
写回复
10 条回复

还没有回复,快来抢沙发~

发动态
发帖子
非技术区
创建于2007-08-02

587

社区成员

5.4w+

社区内容

Delphi 非技术区
社区公告
暂无公告