Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#12

AW: "Calc.exe" starten oder wenn bereits aktiv: SW_Restore schicken

  Alt 24. Mai 2012, 19:36
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;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat