Programm auf 2. Monitor starten ?

DMGDealer

Cadet 4th Year
Registriert
Jan. 2016
Beiträge
103
Tag! Wie oben schon gefragt hab ich GPU Tweak jetzt im Autostart aber es startet eben immer am Ersten Monitor und muss dann immer händisch auf den zweiten gezogen werden... Habs schon über die Aufgabenplanung versucht aber leider ohne Erfolg... Gibts da nen Trick wie ich es direkt am zweiten Monitor starten lass? Ich hab über die Aufgabenplanung auch schon die Administratorabfrage umgangen sodass GPU Tweak ohne Admin gestartet wird. Programme von Drittanbietern hab ich auch schon versucht aber mit keinem hats funktioniert...
 
Welche Programme hast du probiert?

Würde ja Display Fusion vorschlagen, aber a) kostet es was und b) hast du das ja womöglich schon ausprobiert...
 
  • Gefällt mir
Reaktionen: DMGDealer
Jap hab ich schon versucht aber leider ohne erfolg... egal was ich probiert hab mit dem Programm er machts einfach nicht auf dem 2. Monitor auf... :confused_alt:
 
Jap machen auch alle anderen eigentlich aber nicht GPU Tweak irgentwie.... Egal ob ichs rüber zieh, schließe und wieder öffne, es macht sich immer am 1. auf ??
 
Weil das, was normalerweise ist, für das Problem halt keine Rolle spielt.
Jedem Programm steht es frei, seine Position selbst festzulegen. Gut möglich, dass GPU Tweak das macht.

Du könntest auch mit etwas wie AutoIt rumprobieren... bin mir ziemlich sicher, dass sich da auch Fenster verschieben lassen... könntest ein Script in den Autostart legen, das
a) wartet, bis das Programm offen ist ( https://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm )
b) es dann an die gewünschte Position verschiebt ( https://www.autoitscript.com/autoit3/docs/functions/WinMove.htm )

Keine Ahnung, ob das deinem Anwendungsfall gerecht wird.
Ergänzung ()

Dieses Script würde eine Minute auf den Task-Manager warten und ihn verschieben nach 500, 500:
Code:
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ;  Wait a minute for WhatsApp
   Local $hWnd = WinWait("Task-Manager", "", 60)
   If @error Then
      MsgBox($MB_SYSTEMMODAL, "", "Didn't find Application")
      Exit
   EndIf
   If $hWnd == 0 Then
      MsgBox($MB_SYSTEMMODAL, "", "Didn't find Application")
      Exit
   EndIf

   WinMove($hWnd, "", 500, 500)
   MsgBox($MB_SYSTEMMODAL, "", "Moved")
EndFunc

Es muss allerdings compiliert und als Exe mit Admin-Rechten gestartet werden, sonst geht es nicht... und womöglich eine Ausnahme im Windows Defender für das Compilieren gemacht werden.

Bin kein Experte für AutoIt... der Code ist also nicht hübsch.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DMGDealer
Danke dir ich werd mir das mal genauer anschauen und dann bescheid geben ob ich hinbekommen hab!
 
tollertyp schrieb:
Weil das, was normalerweise ist, für das Problem halt keine Rolle spielt.
Jedem Programm steht es frei, seine Position selbst festzulegen. Gut möglich, dass GPU Tweak das macht.

Du könntest auch mit etwas wie AutoIt rumprobieren... bin mir ziemlich sicher, dass sich da auch Fenster verschieben lassen... könntest ein Script in den Autostart legen, das
a) wartet, bis das Programm offen ist ( https://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm )
b) es dann an die gewünschte Position verschiebt ( https://www.autoitscript.com/autoit3/docs/functions/WinMove.htm )

Keine Ahnung, ob das deinem Anwendungsfall gerecht wird.
Ergänzung ()

Dieses Script würde eine Minute auf den Task-Manager warten und ihn verschieben nach 500, 500:
Code:
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ;  Wait a minute for WhatsApp
   Local $hWnd = WinWait("Task-Manager", "", 60)
   If @error Then
      MsgBox($MB_SYSTEMMODAL, "", "Didn't find Application")
      Exit
   EndIf
   If $hWnd == 0 Then
      MsgBox($MB_SYSTEMMODAL, "", "Didn't find Application")
      Exit
   EndIf

   WinMove($hWnd, "", 500, 500)
   MsgBox($MB_SYSTEMMODAL, "", "Moved")
EndFunc

Es muss allerdings compiliert und als Exe mit Admin-Rechten gestartet werden, sonst geht es nicht... und womöglich eine Ausnahme im Windows Defender für das Compilieren gemacht werden.

Bin kein Experte für AutoIt... der Code ist also nicht hübsch.
Tag! Also ich hab das mitn Script hinbekommen und es Funktioniert auch mit GPU Tweak aber welche Position muss ich ihm geben damit er es auf dem zweiten Monitor bewegt ?
 
Gute Frage... ich hätte ganz naiv angenommen, dass er einfach 1 Pixel weiter rechts als die Breite deines Hauptmonitors sein müsste... dass das dann automatisch der zweite Monitor wird... (also unter der Annahme, dass du den zweiten Monitor rechts hast)

Es gibt so einen kleinen "Inspektor" bei Auto-IT, weiß gerade nicht wie er heißt weil ich nicht an meinem privaten PC bin, mit dem kannst du Fenster-Informationen abfragen... der zeigt auch die Position an. Den starten und dann dieses Fadenkreuz auf das Zielfenster.

Edit: das hier https://www.autoitscript.com/autoit3/docs/intro/au3spy.htm
(das bild ist etwas "verwirrend" auf den ersten Blick, weil der Spy fast so aussieht als wäre es ein Teil von WordPad)
 
  • Gefällt mir
Reaktionen: DMGDealer
Ja es ist tatsächlich so... Aber jetzt hab ich die Position herausgefunden, aber jetzt moved er GPU Tweak einfach nichtmehr... jedes andere Fenster aber nichtmehr GPU Tweak ? Er hats genau 1x gemoved, hab dann nur die Position geändert und jetzt gehts einfach netmehr....Er schreibt zwar "moved" aber es bewegt sich nixmehr.... Hab genau das Script jetzt drinnen:
#include <MsgBoxConstants.au3>

Example()

Func Example()
; Wait ten seconds for GPU Tweak
Local $hWnd = WinWait("GPU Tweak", "", 25)
If @error Then
MsgBox($MB_SYSTEMMODAL, "", "Didn't find Application")
Exit
EndIf
If $hWnd == 0 Then
MsgBox($MB_SYSTEMMODAL, "", "Didn't find Application")
Exit
EndIf

WinMove($hWnd, "", 3100, 570)
MsgBox($MB_SYSTEMMODAL, "", "Moved")
EndFunc
 
Zurück
Oben