Witam.
chciałbym dodac do menu kontekstowego explorera pozycje skojarzona z moim programem tak bym mógł prawym myszki otwierac swój program skojarzony przez to wywołanie z okreslonymi plikami/folderami. do Zarejestrowania swojego programu w menu explorera uzywam procedury:
procedure explorerset(name,nwpisu,app:string);
var
Reg : TRegistry;
begin
Reg := Tregistry.create;
with Reg Do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey('Directory\shell',false);
if not KeyExists(name{'DelphiTest'}) then CreateKey(name{'DelphiTest'});
CloseKey;
OpenKey('Directory\shell\'+name,False);
WriteString('',nwpisu);
if not KeyExists('command') then CreateKey('Command');
Closekey;
OpenKey('Directory\shell\'+name+'\command',false);
WriteString('','"'+app+'"'+' "%1"')
CloseKey;
end;
reg.Free;
end;
To działa poprawnie.Przy wywołaniu folder na którym kliknięto prawym myszki jest podawany jako parametr w paramstr(1). Jednak kiedy chcę zaznaczyć kilka folderów i wywołać program, windows dla każdego folderu uruchamia osobną kopię programu a ja chciałbym by uruchomił jedną podając zaznaczone foldery jako kolejne parametry. Oczywiście można nie zezwolić na wielokrotne uruchomienie programu a jedynie przekazywać parametry uruchomionej juz pierwszej kopii programu i w ten sposób uzyskćc pożądany efekt. Czy nie można tego zrobić prościej wymuszając na windows by uruchomił raz program podając jako parametry wszystkie zaznaczone foldery/pliki? Jak to zrobić? z góry dziękuję za wszelkie sugestie.
P.S. i jeszcze jedno małe pytanko. W jaki sposób w menu kontekstowym explorera przy mojej pozycji dodać ikonkę albo coś narysować?