Dateitypverknüpfung auslesen
Einfacher Aufruf mit mehreren Instanzen
|
function
GetExecutable(const Ext: string):
string;
var reg: TRegistry;
s: string;
begin
s:='';
reg:=TRegistry.Create;
try
reg.RootKey:=HKEY_CLASSES_ROOT;
if
reg.OpenKeyReadOnly('.'+ext+'\shell\open\command')
then
begin
s:=reg.ReadString('');
reg.CloseKey;
end
else
begin
if
reg.OpenKeyReadOnly('.'+ext)
then
begin
s:=reg.ReadString('');
reg.CloseKey;
if s<>''
then
begin
if reg.OpenKeyReadOnly(s+'\shell\open\command')
then
s:=reg.ReadString('');
reg.CloseKey;
end;
end;
end;
if
Pos('%', s) > 0
then Delete(s, Pos('%',
s), length(s));
if
((length(s)>0)
and (s[1]='"'))
then Delete (s,
1, 1);
if
((length(s)>0)
and (s[length(s)]='"'))
then Delete(s, Length(s),
1);
while
((length(s)>0)
and ((s[length(s)]=#32)
or (s[length(s)]='"')))
do
Delete(s, Length(s),
1);
result:=s;
finally
reg.Free;
end;
end; |
Aufgerufen wird die
Funktion dann wie folgt:
|
showmessage(GetExecutable('bmp'));; |
|