Einzelnen Beitrag anzeigen

punki

Registriert seit: 12. Nov 2005
5 Beiträge
 
#1

Shellexeute startet Win8 app nicht

  Alt 10. Okt 2013, 19:20
Hallo,

ich betreibe eine Win32-Anwendung (Delphi XE2) auf einem Tablet-PC mit Windows 8 Pro.
Aus der Delphi-Anwendung möchte ich einige Win8-apps starten (z.B. Kamera = C:\Windows\Camera\Camera.exe).

Leider funktioniert der Winapi-Aufruf "Shellexecute" nicht. Die Kamera-App (camera.exe) kann auch nicht per Doppelklick aus dem Windows Explorer gestartet werden, sondern nur aus der Metro-Oberfläche klappt das.

Der Delphi Programmcode:

// sollte die Kamera-App unter Win8 starten
procedure TForm1.bt_KameraClick(Sender: TObject);
var rslt : integer;
begin
rslt := ShellExecute_woWait ('C:\Windows\Camera\Camera.exe','');
end;

// Winapi-Aufruf:
function ShellExecute_woWait(FileName: string; Params: string):integer;
var exepath:string;

begin
Result := 0;
if (not FileExists(FileName)) then begin
Result := ERROR_FILE_NOT_FOUND;
exit;
end;

exepath := extractFilepath(FileName);
Result := ShellExecute(0, // handle to parent window
nil, // pointer to string that specifies operation to perform (--> klappt auch nicht mit 'open')
PChar(FileName), // pointer to filename string
PChar(Params), // pointer to string that specifies executable-file parameters
PChar(exepath), // pointer to string that specifies default directory (--> klappt auch nicht mit nil)
SW_SHOWNORMAL // whether file is shown when opened
);
// >32: erfolgreich
if Result>32 then
Result := 0;
end;


Wie kann ich aus einer Win32-Anwendung eine Win8 app starten?

Danke.

Punki

Geändert von punki (10. Okt 2013 um 21:28 Uhr)
  Mit Zitat antworten Zitat