Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   ShellExecuteEx, PDF-Datei, Windows 8, Metro-PDF-Viewer -> kein Handle (https://www.delphipraxis.net/178828-shellexecuteex-pdf-datei-windows-8-metro-pdf-viewer-kein-handle.html)

hoika 30. Jan 2014 08:01

ShellExecuteEx, PDF-Datei, Windows 8, Metro-PDF-Viewer -> kein Handle
 
Hallo,

unter Windows 8 liefert mir ShellExecuteEx beim Öffnen einer PDF-Datei kein Handle,
wenn die Datei über den Windows8-eigenen Viewer angezeigt wird.
Installiere ich z.B. den Acrobat Reader, klappt alles wie gedacht.

Hier
http://social.msdn.microsoft.com/For...e-shellexecute

habe ich einen ähnlichen Fall gefunden.

Ich brauche das Handle, um zu warten, bis der Viewer wieder geschlossen wurde.

Kennt jemand das Problem ?

Danke

Heiko

DeddyH 30. Jan 2014 08:10

AW: ShellExecuteEx, PDF-Datei, Windows 8, Metro-PDF-Viewer -> kein Handle
 
Aus dem MSDN zu ShellExecuteInfo:
Zitat:

hProcess

Type: HANDLE

A handle to the newly started application. This member is set on return and is always NULL unless fMask is set to SEE_MASK_NOCLOSEPROCESS. Even if fMask is set to SEE_MASK_NOCLOSEPROCESS, hProcess will be NULL if no process was launched. For example, if a document to be launched is a URL and an instance of Internet Explorer is already running, it will display the document. No new process is launched, and hProcess will be NULL.

Note ShellExecuteEx does not always return an hProcess, even if a process is launched as the result of the call. For example, an hProcess does not return when you use SEE_MASK_INVOKEIDLIST to invoke IContextMenu.
Sieht so aus, als müsste man damit leben.

himitsu 30. Jan 2014 09:14

AW: ShellExecuteEx, PDF-Datei, Windows 8, Metro-PDF-Viewer -> kein Handle
 
Jupp, da der Launcher sich gleich selbst wieder beendet, kann man von ihm auch kein Handle mehr zurückliefern.
Und da Windows im Allgemeinen nicht wissen kann, ob und an welche Anwendung der Aufruf übergeben wurde, kann es dessen Handle auch nicht liefern.

Der Ausweg, dann einfach das aktive Fenster/Programm zu verwenden, ist keine gute und sichere Lösung.

hoika 30. Jan 2014 19:56

AW: ShellExecuteEx, PDF-Datei, Windows 8, Metro-PDF-Viewer -> kein Handle
 
Hallo,

das ist doooooof (-:


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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