Datei öffnen mit dem richtigen Pprogramm

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

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Datei öffnen mit dem richtigen Pprogramm

Beitrag von Jan »

Ich benutze eine Funktion (ich glaube, ich hab die hier aus dem Forum), um Dateien automatisch mit dem korrekten Programm zu öffnen. Der Vorteil ist, das ich mich dann nicht selber kümmern muß welches das ist, sondern es wird das genommen, das auf dem jeweiligen Rechner als Standardprogramm eingerichtet ist. Der Aufruf ist so:

Code: Alles auswählen

#define SW_HIDE             0
#define SW_NORMAL           1
#define SW_SHOWMINIMIZED    2
#define SW_SHOWMAXIMIZED    3
#define SW_MAXIMIZE         3
#define SW_SHOWNOACTIVATE   4
#define SW_SHOW             5
#define SW_MINIMIZE         6
#define SW_SHOWMINNOACTIVE  7
#define SW_SHOWNA           8
#define SW_RESTORE          9
#define SW_SHOWDEFAULT      10
#define SE_ERR_NOASSOC 31

lSuccess := DllCall("SHELL32.DLL", ;
                    DLL_STDCALL, ;
                    "ShellExecuteA", ;
                    AppDesktop():GetHWND(), ;
                    "open", ;
                    cFile,;
                    NIL, ;
                    CurDir(), ;
                    SW_NORMAL)  // SW_MAXIMIZE

DO CASE
   CASE lSuccess > 32                  // Aufruf erfolgreich
        Retvar := .T.
Prinzipiell funktioniert das auch. Aber seit Kurzem (seitdem wurden die virtuellen Server auf 2012R2 umgestellt, die Clients sind aber weiterhin Windows 7. Ob das aber wirklich damit zusammen hängt kann ich nicht sagen) gibt es dabei ein Problem: Wird eine Datei, meist eine PDF, so geöffnet, kann keine zweite geöffnet werden. Erst muß die erste geschlossen werden, erst dann klappt die nächste.

Früher klappte das aber.

Im Debugger sehe ich, das bei der zweiten Datei der DLL-Aufruf klappt, und das lSuccess > 32 ist. Das also offensichtlich der Aufruf funktioniert haben muß. Es wird nur keine Datei angezeigt. Erst wenn ich die erste Datei schließe, wird die zweite auch angezeigt.

Hat da jemand eine Idee, warum das nicht mehr mit mehreren Dateien gleichzeitig funktioniert?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Datei öffnen mit dem richtigen Pprogramm

Beitrag von Herbert »

Jan, eigentlich machst du so nicht viel anderes als einen Doppelklick aus dem Windows-Explorer heraus. Windows findet aufgrund der einer Datei gehörenden Erweiterung das passende programm. Die erste Frage also, ob du manuell mehrere PDF parallel mit Doppelklick öffnen kannst?
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Datei öffnen mit dem richtigen Pprogramm

Beitrag von Jan »

Hallo Herbert,

ansich ja. Aber muß ich Montag mal bewußt versuchen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten