WulfmanGER
Commander
- Registriert
- Juli 2005
- Beiträge
- 2.299
Hallo in die Runde,
ich verzweifel gerade an einer gewissen unlogik ...
Ich möchte mit AHK ein Programm auf meinen zweiten Monitor starten und maximieren. Das hat paar mal geklappt und dann plötzlich nicht mehr (ich sehe nur die Titelleiste aber ohne irgendwelche Interaktionsmöglichkeiten/Inhalt).
Monitor 1: 1680x1050
Monitor 2: 1280x1024
Laut WindowSpy.ahk usw. muss ich den Monitor 2 mit 1680, 21 ansteuern.
Als es das erste mal geklappt hat, hatte ich noch
Process,Exist, "Name des Programms.exe"
in der ersten Zeile stehen. Das hatte aber zur folge das ein laufender Task nicht erkannt wurde und somit das Programm immer wieder gestartet werden konnte (also durch manuelles Script starten). Also hab ich die " " entfernt. Jetzt startet das Programm nur einmal - aber seitdem auch nur mit Titelleiste. Klar - einfach mal die " " wieder setzen ... klappt nicht. Auch reboot hat nichts gebracht.
Verstehe nicht wieso das beim testen zig mal geklappt hat und als ich dann fertig war (das WinMaximize hatte erst nicht geklappt [Fenster wurde verschoben - aber nur als Fenster was den halben Monitor einnahm] - war falsch platziert) plötzlich nicht mehr. Das WinMaximize hab ich zwischenzeitlich auch entfernt - ohne Erfolg.
Wo ist den der Fehler? Warum wird das Programm nicht mehr sauber auf Monitor 2 angezeigt?
Danke euch schon mal
ich verzweifel gerade an einer gewissen unlogik ...
Ich möchte mit AHK ein Programm auf meinen zweiten Monitor starten und maximieren. Das hat paar mal geklappt und dann plötzlich nicht mehr (ich sehe nur die Titelleiste aber ohne irgendwelche Interaktionsmöglichkeiten/Inhalt).
Monitor 1: 1680x1050
Monitor 2: 1280x1024
Laut WindowSpy.ahk usw. muss ich den Monitor 2 mit 1680, 21 ansteuern.
Code:
Process,Exist, Name des Programms.exe
If !ErrorLevel {
Run, G:\Spiele\Sonstige\Programm\Name des Programms.exe , G:\Spiele\Sonstige\Programm\ , , pid
WinWait, ahk_pid %pid%,,10
WinMove2Mon("ahk_pid" pid, 2, 1680, 21)
WinMaximize, ahk_pid %pid%
}
WinMove2Mon(win, mon, X, Y){
SysGet, monitor, Monitor, % mon
if (monitorRight != "") {
WinMove, % win, , X, Y
} else
msgbox Monitor %mon% konnte nicht gefunden werden.
}
Als es das erste mal geklappt hat, hatte ich noch
Process,Exist, "Name des Programms.exe"
in der ersten Zeile stehen. Das hatte aber zur folge das ein laufender Task nicht erkannt wurde und somit das Programm immer wieder gestartet werden konnte (also durch manuelles Script starten). Also hab ich die " " entfernt. Jetzt startet das Programm nur einmal - aber seitdem auch nur mit Titelleiste. Klar - einfach mal die " " wieder setzen ... klappt nicht. Auch reboot hat nichts gebracht.
Verstehe nicht wieso das beim testen zig mal geklappt hat und als ich dann fertig war (das WinMaximize hatte erst nicht geklappt [Fenster wurde verschoben - aber nur als Fenster was den halben Monitor einnahm] - war falsch platziert) plötzlich nicht mehr. Das WinMaximize hab ich zwischenzeitlich auch entfernt - ohne Erfolg.
Wo ist den der Fehler? Warum wird das Programm nicht mehr sauber auf Monitor 2 angezeigt?
Danke euch schon mal