Einzelnen Beitrag anzeigen

Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#6

Re: shellexecute auf zweitem bildschirm ausführen

  Alt 5. Feb 2009, 15:32
ShellExecute(nil,nil,PChar('c:\myProgram'),1,nil,SW_MAXIMIZE);
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var MonitorIndex: Integer;
begin
  if ParamCount > 1 then
  begin
    MonitorIndex = StrToIntDef(Params(1), 0);
    
    self.left := Screen.monitors[MonitorIndex].left;
    self.top := Screen.monitors[MonitorIndex].top;
    self.Height := Screen.monitors[MonitorIndex].Height;
    self.Width := Screen.monitors[MonitorIndex].Width;
  end;
end;
Mit dem vierten Parameter von Shellexecute kannst du zusätzliche Parameter an dein Programm mitgeben.
Im obigen Beispiel 1 für Monitor 2.
Im FormCreate von der MainForm guckst du, ob du einen Paramter zum Aufruf hattest und zeigst dann
deine Form auf dem Monitor auf dem die Anzeige gewünscht ist.

Edit:
Zitat von taaktaak:
Die Hinweise mit FormCreate() kann ich (in diesem Zusammenhang) nicht so recht nachvollziehen.
Nur weil er selbst das so gerne aufrufen wollte, hab ich für diesen Weg eine Lösung geschrieben.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat