Um einen FileType mit seinem Programm zu verknüpfen einfach diese Funktion einbinden. In der Uses-Klausel
Registry nicht vergessen.
Delphi-Quellcode:
function AddCommand(Extension,
// ENDUNG (.end)
Command,
// Wie es im popupmenu erscheinen soll
OpenWith,
// die Exe mit der die Datei geöffnet werden soll
ParamString:
STRING;
// die Parameter (Normal: %1)
Asdefault: BOOLEAN):
// Soll der Command als Standart,
// also auch bei Linksklick, definiert werden
BOOLEAN;
var
Reg: TRegistry;
ExtType:
String;
begin
Reg := TRegistry.Create;
try
with Reg
do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey(Extension, True);
ExtType := ReadString('
');
if ExtType = '
'
then // Endung ist noch nicht registriert
begin
OpenKey('
\' + Extension + '
\Shell\'+Command+ '
\Command', True);
WriteString('
', '
"' + OpenWith + '
" "' + ParamString + '
"');
if AsDefault
then
begin
OpenKey('
\' + Extension + '
\Shell', True);
WriteString('
', Command);
end;
end else // Endung ist schon registriert
begin
OpenKey('
\' + ExtType + '
\Shell\'+Command+ '
\Command', True);
WriteString('
', '
"' + OpenWith + '
" "' + ParamString + '
"');
if AsDefault
then
begin
OpenKey('
\' + ExtType + '
\Shell', True);
WriteString('
', Command);
end;
end;
end;
result := true;
except
Result := False;
end;
Reg.Free;
end;
und das ganze wird so aufgerufen:
AddCommand('.txt','TestAnsicht',Application.Exename,'%1',false);
THX to dopeline.
Viel Spaß beim
[edit=Matze]Code formatiert. Mfg, Matze[/edit]