AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Sekundärer Monitor und Fremdsoftwareparameter ?
Thema durchsuchen
Ansicht
Themen-Optionen

Sekundärer Monitor und Fremdsoftwareparameter ?

Ein Thema von spacewolf · begonnen am 18. Jul 2005 · letzter Beitrag vom 19. Jul 2005
Antwort Antwort
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#1

Sekundärer Monitor und Fremdsoftwareparameter ?

  Alt 18. Jul 2005, 20:43
Hallo Leute,

ich möchte eine Software (wo ich nur die Exe hab (kein Source)) auf einem Sekundären Monitor starten.



Ich benutze bisher die folgende Funktion (um Software zu starten):



Delphi-Quellcode:
// 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;
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)....


Wer hat n Plan ?


euer Andreas mit einem großen Fragezeichen im Gesicht
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Sekundärer Monitor und Fremdsoftwareparameter ?

  Alt 18. Jul 2005, 22:22
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
http://assarbad.net/stuff/shellapiex.pas
http://www.delphipraxis.net/internal...ect.php?t=6983
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Sekundärer Monitor und Fremdsoftwareparameter ?

  Alt 18. Jul 2005, 22:50
Hi,
wenn du das Handel des Programmes hast, kannst du mit Hilfe von Delphi-Referenz durchsuchenMoveWindow das Fenster verschieben. Dann brauchst du nur noch die Auflösung und die Ausrichtung der Monitore und – voila – hast du dein Programm auf dem zweiten Monitor.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#4

Re: Sekundärer Monitor und Fremdsoftwareparameter ?

  Alt 19. Jul 2005, 09:23


wat schlau ihr seid... muss ich doch glatt mal alles ausprobieren


DANKE und Gottes Segen
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.
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