Datei öffnen mit

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
DelUser01

Datei öffnen mit

Beitrag von DelUser01 » So, 11. Mär 2018 11:35

Hallo

wenn ich mit RunShell eine PDF-Datei anspreche wird diese mit dem Standard-Programm (z.B. Acrobat Reader) geöffnet.
Wenn ich diese Datei jetzt aber verschiedentlich z.B. mit Adobe Acrobat öffnen müsste- ohne zuvor das Standard-Programm umzustellen - gibt es da eine Funktion?

Eine Möglichkeit wäre natürlich, den User vorab zwischen Reader oder Acrobat wählen zu lassen.
Aber ich weiß doch nicht was auf jedem PC installiert ist und was der User als Standard verwendet.

Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1909
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Kontaktdaten:

Re: Datei öffnen mit

Beitrag von Herbert » So, 11. Mär 2018 12:20

Am besten ist, du programmierst das selber aus. Kleine Radiobox und rufst entsprechend das Programm selber auf.
Grüsse Herbert
Immer in Bewegung...

DelUser01

Re: Datei öffnen mit

Beitrag von DelUser01 » So, 11. Mär 2018 13:27

Hubert, vielleicht hat doch schon einer so etwas gebaut...

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11424
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Datei öffnen mit

Beitrag von AUGE_OHR » So, 11. Mär 2018 18:05

DelUser01 hat geschrieben:
So, 11. Mär 2018 11:35
wenn ich mit RunShell eine PDF-Datei anspreche wird diese mit dem Standard-Programm (z.B. Acrobat Reader) geöffnet.
Wenn ich diese Datei jetzt aber verschiedentlich z.B. mit Adobe Acrobat öffnen müsste- ohne zuvor das Standard-Programm umzustellen - gibt es da eine Funktion?
man müsste schon das Standart-Programm ändern
DelUser01 hat geschrieben:Eine Möglichkeit wäre natürlich, den User vorab zwischen Reader oder Acrobat wählen zu lassen.
Aber ich weiß doch nicht was auf jedem PC installiert ist und was der User als Standard verwendet.
statt

Code: Alles auswählen

@SHELL32:ShellExecuteA() und "open"
nimmst du

Code: Alles auswählen

@SHELL32:OpenAs_RunDLL() und 0 (zero)
gruss by OHR
Jimmy

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2081
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: Datei öffnen mit

Beitrag von Koverhage » Mo, 12. Mär 2018 8:24

Ich mach das so, der Anwender legt fest ob er einen anderen als den Standard verwenden will (hier als pdfextern deklariert)

Code: Alles auswählen

if fi->pdfextern
   ZeigePDFDatei(PfadName(cPDFName),Dateiname(cPDFName))
endif

Function ZeigePDFDatei()
cAcrobat := rtrim(fi->pdfviewer)
cPDF := chr(34)+cPDFPath+cPDFDatei+chr(34)  // die chr(34) == " ermöglichen Blanks im Namen !


if empty(cAcrobat) .or. !Fexists(cAcrobat)
   cAcrobat := GetStandardProgramm(cPDFPath, cPDFDatei)
endif

RunShell( cPDF, cAcrobat, NO )
Gruß
Klaus

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14547
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Datei öffnen mit

Beitrag von brandelh » Mo, 12. Mär 2018 8:43

DelUser01 hat geschrieben:
So, 11. Mär 2018 13:27
Hubert, vielleicht hat doch schon einer so etwas gebaut...
er heißt Herbert, ich bin Hubert ;-)

Ich würde im Programm einen Menüpunkt für die Vorauswahl des PDF Readers vorsehen, wenn die leer ist, ermittle den Standard Reader, ansonsten Pfad und EXE des gewünschten eintragen lassen und abspeichern.
man müsste schon das Standart-Programm ändern
das sollte man niemandem vorschreiben ;-)

Klaus war schneller, seine Lösung verwende ich auch, entweder die EXE mit Pfad vorgeben oder die Standard-EXE ermitteln, aber beide öffnen mit runshell die PDF auf gleiche Art.
Gruß
Hubert

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2081
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: Datei öffnen mit

Beitrag von Koverhage » Mo, 12. Mär 2018 9:21

Hubert,
ich glaube ein Teil davon ist von Dir ;-)
Bei mir kann jeder Anwender seinen bevorzugten PDF Reader benutzen. In der
User Datenbank ist angegeben PDFEXTERN Ja oder Nein. Bei Ja sollte er den
PDFVIEWER eintragen.
Gruß
Klaus

DelUser01

Re: Datei öffnen mit

Beitrag von DelUser01 » Mo, 12. Mär 2018 10:19

Hallo!
Danke für die Vorschläge, meine Frage zielte schon darauf ab, mit einer MS-API-Funktion z.B. den Explorer so zu öffnen:
ExplorerOpenWith.jpg
ExplorerOpenWith.jpg (64.92 KiB) 684 mal betrachtet
Jimmys Vorschlag muss ich noch ausprobieren.

Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 200
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig

Re: Datei öffnen mit

Beitrag von Sören » Di, 13. Mär 2018 12:44

Hallo Roland,

Jimmy hat es eigentlich schon gepostet, aber hier nochmal in Nicht-OTX-Syntax:

Code: Alles auswählen

// Vorgehen, um den "Öffnen mit ..." - Dialog anzuzeigen:

cFileName := "C:\Dateien\MeinDokument.pdf"

RunShell( "Shell32.dll,OpenAs_RunDLL " + cFileName, "Rundll32.exe" )
Beste Grüße,
Sören

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2422
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Re: Datei öffnen mit

Beitrag von Wolfgang Ciriack » Di, 13. Mär 2018 13:14

Prima, danke, klappt gut, kann ich auch gebrauchen.
Viele Grüße
Wolfgang

DelUser01

Re: Datei öffnen mit

Beitrag von DelUser01 » Do, 15. Mär 2018 19:38

Hallo Jimmy und Sören

das ist was ich meinte - Danke!

Antworten