Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   "Calc.exe" starten oder wenn bereits aktiv: SW_Restore schicken (https://www.delphipraxis.net/168494-calc-exe-starten-oder-wenn-bereits-aktiv-sw_restore-schicken.html)

DeddyH 24. Mai 2012 15:16

AW: "Calc.exe" starten oder wenn bereits aktiv: SW_Restore schicken
 
Das ist leider so, man kann die möglichen Fehlerquellen allenfalls minimieren, aber nicht ausschließen.

Uwe Raabe 24. Mai 2012 18:36

AW: "Calc.exe" starten oder wenn bereits aktiv: SW_Restore schicken
 
Also ich löse exakt dieses Problem mit Hilfe von madExcept, genauer gesagt mit madKernel:

Delphi-Quellcode:
const
  SSciCalc = 'SciCalc';
  SCalcExe = 'calc.exe';
var
  prc: IProcess;
  win: IWindow;
  I: Integer;
begin
  prc := Process(SCalcExe);
  if not prc.IsValid then begin
    prc := NewProcess(SCalcExe);
    prc.WaitForInputIdle();
  end
  else begin
    prc.TaskbarWindows.Restore();
    prc.Restore();
    for I := 0 to prc.Windows_.ItemCount - 1 do begin
      win := prc.Windows_.Items[I];
      if SameText(win.ClassName, SSciCalc) then begin
        win.BringToTop();
        win.BringToForeground();
        Break;
      end;
    end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz