Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi programmstart überwachen (https://www.delphipraxis.net/106836-programmstart-ueberwachen.html)

PhilmacFlLy 17. Jan 2008 15:01


programmstart überwachen
 
Nunja ich hab ein Programm programmiert (glaub man kaum :D) das installer in verschiedenen Sprachen startet.
Jetzt möchte ich aber überprüfen ob die Datei wirklich gestaret wurde bzw. ob sie beschädigt is wie kann ich das machen?

achja ich starte das ganze so
Delphi-Quellcode:
ShellExecute(Handle, 'open', PChar(pfads), nil, nil, SW_NORMAL);
vorher wird der Pfad aus einer Ini Datei ausgelesen

Matze 17. Jan 2008 15:12

Re: programmstart überwachen
 
Hallo, herzlich Willkommen!

Einen erfolgreichen Start kannst du so überprüfen:

Delphi-Quellcode:
if ShellExecute(...) > 32 then
  // erfolgreich
else
  // nicht erfolgreich
Die genauen Rückgabewerte findest du beispielsweise hier oder im MSDN: MSDN-Library durchsuchenShellExecute.

Grüße

DP-Maintenance 17. Jan 2008 15:13

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "Windows API / MS.NET Framework API" verschoben.

PhilmacFlLy 17. Jan 2008 15:17

Re: programmstart überwachen
 
ok danke

PhilmacFlLy 17. Jan 2008 15:59

Re: programmstart überwachen
 
noch eine frage muss ich das so schreiben
Delphi-Quellcode:
    begin ShellExecute(Handle, 'open', PChar(pfade), nil, nil, SW_NORMAL);
          if
            ShellExecute(Handle, 'open', PChar(pfads), nil, nil, SW_NORMAL) < 33
          then
            Application.MessageBox('File is not avaliable or destoryed', 'Error', MB_OK)
          else
            application.Terminate
        end
oder so

Delphi-Quellcode:
if
            ShellExecute(Handle, 'open', PChar(pfads), nil, nil, SW_NORMAL) < 33
          then
            Application.MessageBox('File is not avaliable or destoryed', 'Error', MB_OK)
          else
            application.Terminate
        end

DeddyH 17. Jan 2008 16:01

Re: programmstart überwachen
 
Nimm die 2. Variante, sonst wird das Programm ja 2 mal gestartet :mrgreen:

PhilmacFlLy 17. Jan 2008 17:13

Re: programmstart überwachen
 
Das problem is nur er startet die datei dann nicht soner bringt nur ne fehler meldung

DeddyH 17. Jan 2008 17:52

Re: programmstart überwachen
 
Versuch es mal so:
Delphi-Quellcode:
procedure TForm1.btnStartClick(Sender: TObject);
var iSuccess: Integer;
begin
  iSuccess := ShellExecute(Handle,'open',PChar('C:\windows\dideldum.exe'),nil,nil,SW_SHOWDEFAULT);
  if iSuccess < 33 then
    MessageBox(Handle,PChar(SysErrorMessage(iSuccess)),'Fehler',MB_OK or MB_ICONERROR);
end;

PhilmacFlLy 17. Jan 2008 18:05

Re: programmstart überwachen
 
Mir is grad auf gefallen es geht trotzdem so
Delphi-Quellcode:
          begin ShellExecute(Handle, 'open', PChar(pfadg), nil, nil, SW_NORMAL);
            if
              ShellExecute(Handle, 'open', PChar(pfads), nil, nil, SW_NORMAL) > 32
            then
              Application.MessageBox('Datei ist nicht vorhanden oder beschädigt', 'Fehler', MB_OK)
            else
              Application.Terminate
            end
ich hatte nur Apllication.Terminate und Mesage Box verdreht

sry :wall:

PhilmacFlLy 17. Jan 2008 18:09

Re: programmstart überwachen
 
ich weiss nicht was heute los is es geht trotzdem nicht jetzt probier ichs mal nach deddy
edit: geht auch nicht ermacht einfach weiter
edit2: Da hat was mit der zahl nicht gestimmt ich hab jetzt iSuccess < 34 und jetzt gehts


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.
Seite 1 von 3  1 23      

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 by Thomas Breitkreuz