![]() |
Sekundärer Monitor und Fremdsoftwareparameter ?
Hallo Leute,
ich möchte eine Software (wo ich nur die Exe hab (kein Source)) auf einem Sekundären Monitor starten. :coder2: Ich benutze bisher die folgende Funktion (um Software zu starten): :coder:
Delphi-Quellcode:
Weiß irgendjemand wie ich diese Funktion so erweitern kann, das ich eine gewisse Software dazu zwinge sich auf einen anderen Monitor zu verschieben (oder bzw. gleich zu dahin starten)....
// Alles was frmProt. etc... ist dient zum Protokollieren (also nicht weiter wichtig)
function ExecAndWait(const filename, params: string; windowstate: word; warten: boolean): boolean; var SEInfo: TShellExecuteInfo; ExitCode: DWORD; window: Cardinal; begin frmProt.AddDo(0000,'ExecAndWait:'+filename+'/'+params); try FillChar(SEInfo, SizeOf(SEInfo), 0); SEInfo.cbSize := SizeOf(TShellExecuteInfo); with SEInfo do begin fMask := SEE_MASK_NOCLOSEPROCESS; Wnd := Application.Handle; lpFile := PChar(filename); lpParameters := PChar(params); nShow := windowstate; end; if ShellExecuteEx(@SEInfo) then begin if warten then begin window := GetActiveWindow; // Enabled := false; repeat Sleep(100);//2004_12_15 to prevent 100% CPU-Usage Application.ProcessMessages; GetExitCodeProcess(SEInfo.hProcess, ExitCode); until (ExitCode <> STILL_ACTIVE) or Application.Terminated; //Enabled := true; SetForegroundWindow(window); end; Result:=True; end else Result:=False; except on e:Exception do frmProt.AddEx(true,e.ClassName,e.Message + #13#10 + filename + #13#10 + params); end; end; Wer hat n Plan ? euer Andreas mit einem großen Fragezeichen im Gesicht :gruebel: |
Re: Sekundärer Monitor und Fremdsoftwareparameter ?
Zum Gruße,
mit dem eigentlichen Problem kann ich dir nicht helfen, jedoch solltest du statt der Repeat-Schleife unbedingt eine Wait-Funktion (zB WaitForSingleObject) benutzen. Die CPU-Auslastung sinkt dann nochmals, weil die Wait-Funktion zurückkehrt, wenn der Prozeß beendet wurde (wenn du ein Prozeßhandle übergibst). Alternativ kannst du meine Ersatzfunktion benutzen (insofern sie deinen Ansprüchen genügt), oder dir dort besagte Benutzung der Wait-Funktionen abschauen ;) ![]() ![]() |
Re: Sekundärer Monitor und Fremdsoftwareparameter ?
Hi,
wenn du das Handel des Programmes hast, kannst du mit Hilfe von ![]() Chris |
Re: Sekundärer Monitor und Fremdsoftwareparameter ?
:hi:
wat schlau ihr seid... :dp: muss ich doch glatt mal alles ausprobieren :coder: DANKE :cheers: und Gottes Segen ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:59 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