Einzelnen Beitrag anzeigen

freakfly
(Gast)

n/a Beiträge
 
#7

Programmverknüpfung feststellen

  Alt 15. Dez 2004, 11:35
Wenn es jemanden interessieren sollte, hier hab ich was gefunden...

Delphi-Quellcode:
uses
ShellApi;

resourcestring
SFILE_NOT_FOUND = 'Die angegebene Datei "%s" konnte nicht gefunden werden.';
SNO_ASSOCIATED_EXE = 'Für den angegebenen Dateitypen ist kein ausführbares Programm verfügbar.';
SPATH_NOT_FOUND = 'Der angegebene Pfad "%s" konnte nicht gefunden werden.';
SEXE_INVALID = 'Das ausführbare Programm ist keine gültige Win32-Anwendung.';

function GetExecutable(const AFileName: string): string;
var
FileName, Directory: string;
begin
FileName := ExtractFileName(AFileName);
Directory := ExtractFilePath(AFileName);
Setlength(Result, MAX_PATH);
FillChar(Pointer(Result)^, Length(Result), #0);
case FindExecutable(Pointer(FileName), Pointer(Directory), Pointer(Result)) of
0: OutOfMemoryError;
31: MessageDlg(SNO_ASSOCIATED_EXE, mtError, [mbOk], 0);
ERROR_FILE_NOT_FOUND: MessageDlg(Format(SFILE_NOT_FOUND, [FileName]),
mtError, [mbOk], 0);
ERROR_PATH_NOT_FOUND: MessageDlg(Format(SPATH_NOT_FOUND, [Directory]),
mtError, [mbOk], 0);
ERROR_BAD_FORMAT: MessageDlg(SEXE_INVALID, mtError, [mbOk], 0);
end;
Setlength(Result, StrLen(Pointer(Result)));
end;
  Mit Zitat antworten Zitat