AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datei öffnen mit

Ein Thema von Blackshadow91 · begonnen am 14. Okt 2009 · letzter Beitrag vom 25. Nov 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Datei öffnen mit

  Alt 15. Okt 2009, 02:43
Bei ShellExecute gibt man ja ein Verb an. In der Regel ist das "open".
http://msdn.microsoft.com/en-us/libr...%29.aspx#verbs

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.
ShellExecute(Application.Handle,'execute',PChar('My_AutoWarkey_Script.ahk'),nil,PChar(warkeysp+'\Autowarkey'),sw_ShowNormal); Gerade bei einer Scriptdatei könnte man ich verschiedene Verben vorstellen.
Die Anwendung, die das Script ausführt könnte dafür sorgen, dass die Verben in der Registry verankert werden.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Sko
Sko

Registriert seit: 11. Sep 2005
327 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Datei öffnen mit

  Alt 15. Okt 2009, 06:58
Den Öffnen-mit-Dialog von Windows kannst du mit ShellExecute(Application.Handle,'open',PChar('rundll32.exe'),PChar('shell32.dll,OpenAs_RunDLL ' + Dateiname), nil, SW_SHOWNORMAL); aufrufen.
MfG Sko
Zitat von Phoenix:
[OT]Phoenix guckt in die Glaskugel, zuckt mit den Flügelspitzen, krächzt etwas von wegen 'Boden' und 'Scherben' und schubbst die Kugel in Richtung Tischkante.[/OT]
Rockbox
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#13

Re: Datei öffnen mit

  Alt 25. Nov 2009, 01:59
Zitat von Sko:
Den Öffnen-mit-Dialog von Windows kannst du mit ShellExecute(Application.Handle,'open',PChar('rundll32.exe'),PChar('shell32.dll,OpenAs_RunDLL ' + Dateiname), nil, SW_SHOWNORMAL); aufrufen.
also irgendwas entgeht mir da, ich kriege gerade einfach immmer wieder das verdammt blöde Verhalten zu sehen, dass es in obiger Form nur mit einem Teil der Programme funktioniert, verwendet man hingegen '"'+Dateiname+'"', so wird der Dateiname zwar vom Öffnen mit... Dialog falsch dargestellt, etwa

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?
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Datei öffnen mit

  Alt 25. Nov 2009, 03:01
Kopiert aus der JCL, Unit JclShell:
Delphi-Quellcode:
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;
Du kannst natürlich auch die JCL direkt verwenden.
Das erspart Dir viele Fragen weil einige schlaue Köpfe die grundlegenden Dinge schon gelöst haben.
fork me on Github
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#15

Re: Datei öffnen mit

  Alt 25. Nov 2009, 16:01
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"
Miniaturansicht angehängter Grafiken
test_156.png  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz