Ich benutze Windows und habe zwei Monitore.
Einige Anwendungen werden immer auf meinem primären Monitor gestartet, unabhängig davon, wo sie sich befanden, als ich sie geschlossen habe.
Andere starten immer auf dem sekundären Monitor, egal wo sie waren, als ich sie geschlossen habe.
Ist irgendwo eine Registrierungseinstellung vergraben, die ich manipulieren kann, um zu steuern, in welche Monitoranwendungen standardmäßig gestartet wird?
@rp: Ich habe Ultramon und bin damit einverstanden, dass es unverzichtbar ist, bis zu dem Punkt, dass Microsoft es kaufen und in ihr Betriebssystem integrieren sollte. Wie Sie bereits sagten, können Sie damit nicht den Standardmonitor steuern, auf dem ein Programm gestartet wird.
multiple-monitors
JosephStyons
quelle
quelle
Antworten:
Richtig geschriebene Windows-Apps, die ihren Speicherort von Lauf zu Lauf speichern möchten, speichern die Ergebnisse
GetWindowPlacement()
vor dem Herunterfahren und verwenden sieSetWindowPlacement()
beim Start, um ihre Position wiederherzustellen.Häufig speichern Apps die Ergebnisse
GetWindowPlacement()
in der Registrierung alsREG_BINARY
zur einfachen Verwendung.Die
WINDOWPLACEMENT
Route hat viele Vorteile gegenüber anderen Methoden:SetWindowPlacement()
Stellt automatisch sicher, dass das Fenster nicht vollständig außerhalb des Bildschirms angezeigt wirdSchließlich berücksichtigen Programme, die die Fensterwiederherstellung ordnungsgemäß ausführen, den
nCmdShow
von der Shell übergebenen Parameter. Dieser Parameter wird in der Verknüpfung festgelegt, mit der die Anwendung gestartet wird (Normal, Minimiert, Maximieren):Für Nicht-Win32-Anwendungen ist es wichtig sicherzustellen, dass die Methode, mit der Sie die Fensterposition speichern / wiederherstellen, letztendlich denselben zugrunde liegenden Aufruf verwendet. Andernfalls schreiben Sie (wie bei Java Swing
setBounds()
/getBounds()
problem) viel zusätzlichen Code Funktionen, die bereits in denWINDOWPLACEMENT
Funktionen vorhanden sind , erneut zu implementieren .quelle
Folgendes habe ich gefunden. Wenn Sie möchten, dass eine App standardmäßig auf Ihrem sekundären Monitor geöffnet wird, gehen Sie wie folgt vor:
Die Anwendung wird jetzt standardmäßig auf diesem Monitor geöffnet. Wenn Sie es auf einen anderen Monitor umstellen möchten, führen Sie einfach die Schritte 1 bis 6 erneut aus.
quelle
Holen Sie sich UltraMon. Schnell.
http://realtimesoft.com/ultramon/
Sie können nicht angeben, auf welchem Monitor eine App gestartet wird, aber Sie können eine App mit einem Mausklick auf einen anderen Monitor verschieben und das Seitenverhältnis beibehalten. Es ist ein sehr praktisches Dienstprogramm.
Die meisten Programme beginnen dort, wo Sie sie zuletzt verlassen haben. Wenn Sie also zwei Monitore bei der Arbeit haben, aber nur einen zu Hause, können Sie Ihren Laptop zu Hause starten und die Apps nicht auf dem anderen Monitor sehen (der jetzt nicht vorhanden ist). Mit UltrMon können Sie diese verwaisten Apps auch schnell und einfach wieder auf den Hauptbildschirm verschieben.
quelle
Es ist nicht genau die Antwort auf diese Frage, aber ich habe dieses Problem mit der
Shift + Win + [left,right] arrow keys
Verknüpfung behandelt. Sie können damit das aktuell aktive Fenster auf einen anderen Monitor verschieben.quelle
Ich bin mir ziemlich sicher, dass der primäre Monitor der Standard ist. Wenn die App beim Schließen anständig codiert wurde, merkt sie sich, wo sie zuletzt war, und wird dort wieder geöffnet. Wie Sie bemerkt haben, handelt es sich jedoch nicht um ein Standardverhalten.
BEARBEITEN: Normalerweise mache ich den Speicherort in den Einstellungen der App. Wenn beim Laden kein Wert für sie vorhanden ist, wird standardmäßig die Mitte des Bildschirms angezeigt. Beim Schließen des Formulars wird seine Position aufgezeichnet. Auf diese Weise war es immer dort, wo es zuletzt war. Ich kenne jedoch keine einfache Möglichkeit, es anzuweisen, beim ersten Mal automatisch auf den zweiten Monitor zu starten.
- Kevin Fairchild
quelle
Wichtiger Hinweis: Wenn Sie sich an die Position Ihrer Anwendung erinnern und diese herunterfahren und dann an dieser Position erneut starten, beachten Sie, dass sich die Monitorkonfiguration des Benutzers möglicherweise geändert hat, während Ihre Anwendung geschlossen wurde.
Laptop-Benutzer ändern beispielsweise häufig ihre Anzeigekonfiguration. Beim Andocken befindet sich möglicherweise ein zweiter Monitor, der beim Abdocken verschwindet. Wenn der Benutzer eine Anwendung schließt, die auf dem zweiten Monitor ausgeführt wurde, und die Anwendung erneut öffnet, wenn der Monitor getrennt wird, wird das Fenster durch Wiederherstellen der vorherigen Koordinaten vollständig außerhalb des Bildschirms angezeigt.
Um herauszufinden, wie groß das Display wirklich ist, lesen Sie GetSystemMetrics.
quelle
Ich hatte dieses Problem mit Adobe Reader 9.0. Irgendwie hat das Programm vergessen, auf meinem rechten Monitor zu öffnen und wurde ständig auf meinem linken Monitor geöffnet. Bei den meisten Programmen können Sie es ziehen, den Bildschirm maximieren und dann schließen, damit es sich merkt. Nun, mit Adobe musste ich es ziehen und dann schließen, bevor ich es maximierte, damit Windows sich merken konnte, auf welchem Bildschirm es beim nächsten Mal geöffnet werden sollte. Sobald Sie den richtigen Monitor eingestellt haben, können Sie ihn maximieren. Ich denke, das ist dumm, da sich fast alle Windows-Programme automatisch daran erinnern, ohne zu versuchen, eine Möglichkeit für XP zu finden, sich daran zu erinnern.
quelle
Daher stimme ich zu, dass es einige Apps gibt, die Sie so konfigurieren können, dass sie auf einem Bildschirm geöffnet werden, indem Sie den Bildschirm maximieren oder mit der rechten Maustaste klicken und ihn verschieben / seine Größe ändern, dann schließen und erneut öffnen. Es gibt jedoch andere, die nur auf dem Hauptbildschirm geöffnet werden.
Was ich getan habe, um das Problem zu beheben: Stellen Sie den Monitor, auf dem hartnäckige Apps geöffnet werden sollen, als Monitor 1 und den anderen Monitor als 2 ein und ändern Sie dann Ihren Monitor 2 als primären Monitor - damit Ihre Desktop-Einstellungen und die Startleiste erhalten bleiben. Hoffe das hilft.
quelle
Halten Sie mich nicht daran fest, aber ich bin mir ziemlich sicher, dass es von der Anwendung selbst abhängt. Ich weiß, dass viele immer auf dem Hauptmonitor geöffnet sind, einige wieder auf demselben Monitor geöffnet werden, auf dem sie zuvor ausgeführt wurden, und andere können Sie einstellen. Ich weiß zum Beispiel, dass ich Verknüpfungen zum Öffnen von Befehlsfenstern für bestimmte Verzeichnisse habe, und jedes hat in seinen Eigenschaften eine Option für den Speicherort, in dem das Fenster geöffnet werden soll. Während Outlook sich nur an den letzten Bildschirm erinnert und diesen öffnet, in dem es geöffnet war. Dann andere Apps Öffnen Sie in jedem Fenster, in dem sich der aktuelle Fokus befindet.
Ich bin mir also nicht sicher, ob es eine Möglichkeit gibt, jedem Programm mitzuteilen, wo es geöffnet werden soll. Hoffe das hilft einigen.
quelle
Ich habe festgestellt, dass die gestartete Anwendung möglicherweise auf diesem Bildschirm angezeigt wird, wenn ich auf einem Bildschirm eine Verknüpfung auf meinem Desktop platziere ( wenn sich diese App nicht neu positioniert).
Dies gilt auch für die Ausführung von Dingen im Windows Explorer. Wenn sich der Explorer auf einem Bildschirm befindet, wählt die gestartete Anwendung den zu verwendenden Monitor aus.
Nochmals - Ich denke, dies ist der Zeitpunkt, an dem die Startanwendung die Standardposition (Windows verwaltet) angibt. Die meisten Anwendungen scheinen dieses Standardverhalten in irgendeiner Weise zu überschreiben.
Ein einfaches Fenster, das so erstellt wurde, führt Folgendes aus:
hWnd = CreateWindow (windowClass, windowTitle, WS_VISIBLE | WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, SW_SHOW, CW_USEDEFAULT, 0, NULL, NULL, hInst, NULL);
quelle
Klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie Eigenschaften aus. Stellen Sie sicher, dass Sie sich auf der Registerkarte "Verknüpfung" befinden. Aktivieren Sie das Dropdown-Feld RUN und ändern Sie es in Maximiert.
Dies kann beim Starten des Programms im Vollbildmodus auf dem primären Monitor hilfreich sein.
quelle