![]() |
Re: Datei öffnen mit
Bei ShellExecute gibt man ja ein Verb an. In der Regel ist das "open".
![]() Wenn in der Registry weitere Verben (z.B. "print", "edit", "execute"...) für eine bestimmte Dateiendung hinterlegt sind kann man diese natürlich auch benützen.
Delphi-Quellcode:
Gerade bei einer Scriptdatei könnte man ich verschiedene Verben vorstellen.
ShellExecute(Application.Handle,'execute',PChar('My_AutoWarkey_Script.ahk'),nil,PChar(warkeysp+'\Autowarkey'),sw_ShowNormal);
Die Anwendung, die das Script ausführt könnte dafür sorgen, dass die Verben in der Registry verankert werden. |
Re: Datei öffnen mit
Den Öffnen-mit-Dialog von Windows kannst du mit
Delphi-Quellcode:
aufrufen.
ShellExecute(Application.Handle,'open',PChar('rundll32.exe'),PChar('shell32.dll,OpenAs_RunDLL ' + Dateiname), nil, SW_SHOWNORMAL);
|
Re: Datei öffnen mit
Zitat:
c:\demo.bmp wird als demo.bmp" dargestellt mit verwaistem Anführungszeichen, sodass keine passenden Programme dafür ausgewählt sind, jedoch wird der Dateiname dann korrekt übergeben. Muss ich den Pfad als shortpath darstellen und den Dateinamen als 8.3 formatieren? |
Re: Datei öffnen mit
Kopiert aus der JCL, Unit JclShell:
Delphi-Quellcode:
Du kannst natürlich auch die JCL direkt verwenden.
function PCharOrNil(const S: string): PChar;
begin Result := Pointer(S); end; function ShellExecEx(const FileName: string; const Parameters: string; const Verb: string; CmdShow: Integer): Boolean; var Sei: TShellExecuteInfo; begin FillChar(Sei, SizeOf(Sei), #0); Sei.cbSize := SizeOf(Sei); Sei.fMask := SEE_MASK_DOENVSUBST or SEE_MASK_FLAG_NO_UI; Sei.lpFile := PChar(FileName); Sei.lpParameters := PCharOrNil(Parameters); Sei.lpVerb := PCharOrNil(Verb); Sei.nShow := CmdShow; Result := ShellExecuteEx(@Sei); end; function ShellOpenAs(const FileName: string): Boolean; // Open-As Dialog öffnen begin Result := ShellExecEx('rundll32', Format('shell32.dll,OpenAs_RunDLL "%s"', [FileName]), '', SW_SHOWNORMAL); end; Das erspart Dir viele Fragen weil einige schlaue Köpfe die grundlegenden Dinge schon gelöst haben. |
Re: Datei öffnen mit
Liste der Anhänge anzeigen (Anzahl: 1)
Hi, Danke für die Hilfe aber ich komme wohl umher, mir noch mehr Bibliotheken einzuschleppen inklusive derer Lizenzbestimmungen. Der Fehler lag im Dateinamen, bei dessen Generierung sich ein \\ eingeschlichen hat, da bringen auch die Anführungszeichen nichts mehr. Im Gegenteil: mit korrektem Dateinamen und Anführungszeichen ist es nicht besser. Soviel zum Thema "Gedanken gemacht" :(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz