Wenn es nur darum geht, die zu startende Exe zu finden (meist das Verb
open in der Registry), dann ist diese Lösung etwas einfacher:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| uses ShellAPI;
function GetExecutable(const DocumentFile: string): string; var buf : array[0..MAX_PATH]of char; begin ZeroMemory(@buf,sizeof(buf)); if(FindExecutable(pchar(DocumentFile),nil,buf) > 32) and (buf[0] <> #0) then SetString(Result,buf,lstrlen(buf)) else Result := ''; end;
ShowMessage(GetExecutable('c:\Eigene Dateien\Textdatei.txt')); |
Ansonsten gäbe es noch diverse "Assoc*"-Funktionen, die aber laut PSDK min. den IE5 voraussetzen (damit sie auch unter 95, 98 und NT4 funktionieren), oder (wie Luckie sagte): man guckt selbst in die Registry und sucht sich alles raus.