Einzelnen Beitrag anzeigen

zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#1

externes Programm startet in nicht sichtbarem Monitor

  Alt 8. Feb 2024, 18:28
Ich habe folgenden Aufruf, mit dem ich ein fremdes Programm starte:
Delphi-Quellcode:
 FillChar(StartupInfo, SizeOf(StartupInfo), 0);
  FillChar(ProcessInfo, SizeOf(TProcessInformation), 0);
  StartupInfo.cb := SizeOf(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := SW_SHOWNORMAL;
  StartupInfo.dwX := XPos;
  StartupInfo.dwY := YPos;
  if CreateProcess(nil,
       PChar(Filename + ' ' + para),
       nil,
       nil,
       False,
       0,
       nil,
       nil, //PChar(Para),
       StartupInfo,
       ProcessInfo) then
  begin
Das klappt ganz gut. Ich merke mir die Postion um beim nächsten Start ist alles OK.
Dann nimmt ein User seinen Laptop mit nach Hause, wo der Monitor rechts nebem dem Laptop und nicht links. Dann sehe ich zwar in der Taskleiste, dass sich das Programm geöffnet hat, aber es wird nicht angezeigt. Das gleiche passiert, wenn man einen Beamer angeschlossen hat und auf diesem Beamer das Programm nutzt. Wenn ich da den Beamer ausschalte, versucht Windows trotzdem, das Programm auf dem Beamer darzustellen.
Wie kann ich so etwas verhindern?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat