![]() |
2 exe dateien befehligen ?
hi freunde...ich mal wieder ;) .
kurze frage.. also ich habe mein hauptprogramm welches als navigation dient....jetzt starte ich ein anderes programm (2te exe) und beim starten der 2ten exe minimiere ich mein mainprogramm. wie kann ich es jetzt machen, das beim beenden der 2ten exe, das main tool wieder aufgeht ? danke für die hilfe ! mfg |
Re: 2 exe dateien befehligen ?
ShellExecuteAndWait
Delphi-Quellcode:
Der Schnipsel ist glaub ich aus der CodeLib
unit ShellApiEx;
interface uses Windows, ShellApi; {.$DEFINE UNICODE} function ShellExecuteAndWaitA(hWnd: HWND; Operation, FileName, Parameters, Directory: PAnsiChar; ShowCmd: Integer; bWait: BOOL): HINST; stdcall; function ShellExecuteAndWaitW(hWnd: HWND; Operation, FileName, Parameters, Directory: PWideChar; ShowCmd: Integer; bWait: BOOL): HINST; stdcall; type TShellExecuteAndWait = function(hWnd: Windows.HWND; {$IFDEF UNICODE} Operation, FileName, Parameters, Directory: PWideChar; {$ELSE} Operation, FileName, Parameters, Directory: PAnsiChar; {$ENDIF} ShowCmd: Integer; bWait: BOOL): HINST; stdcall; var ShellExecuteAndWait: TShellExecuteAndWait = {$IFDEF UNICODE} ShellExecuteAndWaitW; {$ELSE} ShellExecuteAndWaitA; {$ENDIF} implementation function ShellExecuteAndWaitW(hWnd: HWND; Operation, FileName, Parameters, Directory: PWideChar; ShowCmd: Integer; bWait: BOOL): HINST; stdcall; var sei: TShellExecuteInfoW; begin ZeroMemory(@sei, sizeof(sei)); with sei do begin cbSize := sizeof(sei); fMask := SEE_MASK_NOCLOSEPROCESS; Wnd := hWnd; lpVerb := Operation; lpFile := FileName; lpParameters := Parameters; lpDirectory := Directory; nShow := ShowCmd; end; if ShellExecuteExW(@sei) then try if bWait then WaitForSingleObject(sei.hProcess, INFINITE); finally CloseHandle(sei.hProcess); end; result := sei.hInstApp; end; function ShellExecuteAndWaitA(hWnd: HWND; Operation, FileName, Parameters, Directory: PAnsiChar; ShowCmd: Integer; bWait: BOOL): HINST; stdcall; var sei: TShellExecuteInfoA; begin ZeroMemory(@sei, sizeof(sei)); with sei do begin cbSize := sizeof(sei); fMask := SEE_MASK_NOCLOSEPROCESS; Wnd := hWnd; lpVerb := Operation; lpFile := FileName; lpParameters := Parameters; lpDirectory := Directory; nShow := ShowCmd; end; if ShellExecuteExA(@sei) then try if bWait then WaitForSingleObject(sei.hProcess, INFINITE); finally CloseHandle(sei.hProcess); end; result := sei.hInstApp; end; end. |
Re: 2 exe dateien befehligen ?
wie benutze ich das jetzt ? einfach in die shellapi mit rein oder ins progg ?
|
Re: 2 exe dateien befehligen ?
wie rufst du denn bis her dein zweites prog auf?
Delphi-Quellcode:
ShellExecuteAndWait(Application.Handle, 'open',
ProgrammName), nil, nil, sw_shownormal, True); |
Re: 2 exe dateien befehligen ?
ja genau !
|
Re: 2 exe dateien befehligen ?
Dann gibt es doch kein Problem, oder? Einfach die Methode hinzufügen.
|
Re: 2 exe dateien befehligen ?
okay hab ne 1a methode die absolut perfekt läuft und einfach gut ist !
Delphi-Quellcode:
uses: JclMiscel (Jedi)
WinExec32AndWait(Pchar(filepath),1); sau geil ! trotzdem danke ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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