![]() |
Re: externe Applikation
Zum einen, les dir noch mal durch, was Matze zu WinExec gesagt hat und zum anderen, was liefert Shellexecute für einen Wert zurück?
|
Re: externe Applikation
Code:
Mit open sollte es funktionieren, sofern der Pfad stimmt.
void __fastcall TForm1::Button1Click(TObject *Sender)
{ ShellExecute(Handle,"open","C:\\lernen.exe",NULL, NULL, SW_MAXIMIZED); } |
Re: externe Applikation
Mit "open" funktioniert es auch nicht. Er kompiliert und beim drücken des Buttons passiert nichts, genau wie bei NULL.
Was funktioniert ist, "open" zu verwenden wenn ich zum Beispiel eine .txt öffnen will. Dann öffnet er die mit Notepad. Deswegen verstehe ich ja nicht, wieso er mit NULL keine Exe öffnet. Es passiert nichts, bekomme aber auch keine Fehlermeldung. |
Re: externe Applikation
Windows schmeißt dir grundsätzlich keine Exceptions um die Ohren. Windows zeigt dir im Rückgabewert einer Funktion an, dass etwas falsch gelaufen ist, und dann bist du dafür verantwortlich, GetLastError aufzurufen und den Rückgabewert anzuzeigen (Der Rückgabewert ist ein Integer. In Delphi gibt es die Funktion SysErrorMessage, die einen vernünftigen String zurückgibt. Die WinApi-Funktion dazu heißt FormatMessage, da gibt es bestimmt eine C++-Kapselung zu, die leichter zu handaben ist).
|
Re: externe Applikation
ShellExecute selbst gibt Dir doch einen Code zurück. Wenn dieser kleiner als 33 ist, handelt es sich nicht um ein Handle, sondern um einen Fehlercode.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz