![]() |
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:
vorher wird der Pfad aus einer Ini Datei ausgelesen
ShellExecute(Handle, 'open', PChar(pfads), nil, nil, SW_NORMAL);
|
Re: programmstart überwachen
Hallo, herzlich Willkommen!
Einen erfolgreichen Start kannst du ![]()
Delphi-Quellcode:
Die genauen Rückgabewerte findest du beispielsweise
if ShellExecute(...) > 32 then
// erfolgreich else // nicht erfolgreich ![]() ![]() Grüße |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "Windows API / MS.NET Framework API" verschoben.
|
Re: programmstart überwachen
ok danke
|
Re: programmstart überwachen
noch eine frage muss ich das so schreiben
Delphi-Quellcode:
oder so
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
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 |
Re: programmstart überwachen
Nimm die 2. Variante, sonst wird das Programm ja 2 mal gestartet :mrgreen:
|
Re: programmstart überwachen
Das problem is nur er startet die datei dann nicht soner bringt nur ne fehler meldung
|
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; |
Re: programmstart überwachen
Mir is grad auf gefallen es geht trotzdem so
Delphi-Quellcode:
ich hatte nur Apllication.Terminate und Mesage Box verdreht
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 sry :wall: |
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. |
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