Fenster Positionierung Tool

    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Hi,

      ...ich poste dann auch mal für alle die es haben wollen ein kleines Skript.
      Da ich oft in den Coaching Videos sehe wie mit den Fenstern hin und her geschoben wird und mich es auch selber nervte, die richtig auszurichten habe ich es geschrieben.
      Man drückt STRG+Numblockzahlen 1 bis 9 und positioniert damit das aktive Fenster. STRG+NUM 1 für links unten STRG+NUM 2 für unten mitte usw.

      Bei Fragen fragen und wer es nicht hinbekommt eine .exe draus zu machen, kann sie auch bei mir erfragen: icq 47775134
      Ansonsten einfach den Code in eine .ahk Datei speichern und mit AHK compilieren fertig.
      (Hinweis: Windows-Taskleiste wird mit einberechnet, so dass kein Fenster die Verdecken kann. Wenn man das anders haben will muss man eben kleine Teile im Code auskommentieren. Das gilt auch nur für Taste 1 bis 3, weil die unten sind)


      code:
      #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
      SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
      SetKeyDelay, 20
      SetMouseDelay, 20
      Process, Priority, , High
      
      ;WinGetPos, X, Y, Width, Height, A
      ;MsgBox, POS %X%  %X%  DIMENSION is %Width% %Height%
      ;MsgBox, %A_ScreenWidth% %A_ScreenHeight% %Width%
      
      ;MITTE OBEN
      ~^SC048::
      moveActiveWindowTo(8)
      return
      
      ;MITTE MITTE
      ~^SC04C::
      moveActiveWindowTo(5)
      return
      
      ;MITTE LINKS
      ~^SC04B::
      moveActiveWindowTo(4)
      return
      
      ;MITTE RECHTS
      ~^SC04D::
      moveActiveWindowTo(6)
      return
      
      ;MITTE UNTEN
      ~^SC050::
      moveActiveWindowTo(2)
      return
      
      ;LINKS OBEN
      ~^SC047::
      moveActiveWindowTo(7)
      return
      
      ;RECHTS OBEN
      ~^SC049::
      moveActiveWindowTo(9)
      return
      
      ;RECHTS UNTEN
      ~^SC051::
      moveActiveWindowTo(3)
      return
      
      ;LINKS UNTEN
      ~^SC04F::
      moveActiveWindowTo(1) 
      return
      
      
      moveActiveWindowTo(key)
      {
          WinGetPos, X, Y, Width, Height, A
          WinWait, A
                ;MsgBox, %key%=5
      
      
          if(key=1)
          {
          WinGetPos, X2, Y2, Width2, Height2, ahk_class Shell_TrayWnd
          ;MsgBox, %Height2%    
          WinMove,A,, 0 , A_ScreenHeight-Height-Height2 ;
          }
      
          if(key=2)
          {
          WinGetPos, X2, Y2, Width2, Height2, ahk_class Shell_TrayWnd
          ;MsgBox, %Height2%
          WinMove,A,, (A_ScreenWidth/2)-(Width/2), A_ScreenHeight-Height-Height2 ;
          }
          if(key=3)
          {
          
          WinGetPos, X2, Y2, Width2, Height2, ahk_class Shell_TrayWnd
          ;MsgBox, %Height2%
          WinMove,A,, (A_ScreenWidth)-(Width) , A_ScreenHeight-Height-Height2 ;
          }
      
      
      
      
          if(key=4)
          {
          WinMove,A,, 0 , (A_ScreenHeight/2)-(Height/2) ;
          }
      
          if(key=5)
          {
          WinMove,A,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2) ;
          }
          if(key=6)
          {
          WinMove,A,, (A_ScreenWidth)-(Width) , (A_ScreenHeight/2)-(Height/2) ;
          }
      
      
          if(key=7)
          {
          WinMove,A,, 0, 0 ;
          }
          if(key=8)
          {
          WinMove,A,, (A_ScreenWidth/2)-(Width/2), 0 ;
          }
          if(key=9)
          {
          WinMove,A,, (A_ScreenWidth)-(Width), 0 ;
          }  	
          
      
      }return 
      
      
  • 12 Antworten
    • Vicolino
      Vicolino
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 149
      Das Script ist echt klasse und funktioniert einwandfrei.
      Erst mal besten Dank dafür!

      Trotzdem habe ich noch eine Bitte:
      Würde das Script gerne für die ProView-Ansicht (kleine Tische) bei Interpoker einsetzen.
      Welche Koordinaten müßte ich dafür in dem Script eingeben?
      Noch besser wär's natürlich, wenn jemand ein fertiges Script dafür anbieten könnte.
      Vielleicht erbarmt sich ja einer! ;)
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Hmmm, da ist es eher ungeeignet. Du müsstest schon einiges anpassen.
      Dies Teil ist eher für max 9 Tische auf einem Monitor gedacht.
      Ist ja auch wenig Code wie man sieht.
    • Vicolino
      Vicolino
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 149
      Spiele auch selten im Mini-View, von daher ist es auch nicht unbedingt erforderlich und 4 Tische ohne Überlappung reichen ja auch aus.

      Nochmals besten Dank für das Script! ;)
    • Vicolino
      Vicolino
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 149
      Hi Tittenkralle!
      Wollte Dich mal wieder nerven... ;)

      Hatte mir für den Pro View bei Crypto ein eigenes Layout gebastelt.
      Größe: 529 x 359 Pixel

      Wenn ich jetzt Dein Fensterscript benutze, werden die oberen und unteren Fenster korrekt platziert.
      Die mittleren Fenster werden leider immer etwas zu tief dargestellt (siehe Bild)

      Kann man im Script eventuell was ändern, daß die mittleren Fensterpositionen auch korrekt angegliedert werden?

      Danke im voraus!

      Gruß

      Vicolino
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Ja kann man, sieh grad in dieser Version ist nen Bug. ab Key 4. Ich habe aber keine Zeit das derzeit zu machen.... sorry. Ist aber echt nicht schwierig. Vergleiche einfach mal 1 und dann 4.

      hier die richtige Methode:
      moveActiveWindowTo(key,width,height)
      {

      WinGetPos, X, Y, Width, Height, A
      WinGetPos, X2, Y2, Width2, Height2, ahk_class Shell_TrayWnd

      if(key=1)
      {
      WinMove,A,, 0 , (A_ScreenHeight-Height-Height2), , ;
      }
      if(key=2)
      {
      WinMove,A,, (A_ScreenWidth/2)-(Width/2), A_ScreenHeight-Height-Height2, , ;
      }
      if(key=3)
      {
      WinMove,A,, (A_ScreenWidth)-(Width) , A_ScreenHeight-Height-Height2, , ;
      }
      if(key=4)
      {
      WinMove,A,, 0 , (A_ScreenHeight/2)-(Height/2), , ;
      }
      if(key=5)
      {
      WinMove,A,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2), , ;
      }
      if(key=6)
      {
      WinMove,A,, (A_ScreenWidth)-(Width) , (A_ScreenHeight/2)-(Height/2), , ;
      }
      if(key=7)
      {
      WinMove,A,, 0, 0, , ;
      }
      if(key=8)
      {
      WinMove,A,, (A_ScreenWidth/2)-(Width/2), 0, , ;
      }
      if(key=9)
      {
      WinMove,A,, (A_ScreenWidth)-(Width), 0, , ;
      }

      }return
    • Vicolino
      Vicolino
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 149
      Ich bekomme es leider nicht hin. ;(

      Kannste das Script vielleicht komplett abändern, wenn Du mal etwas Zeit hast? Wäre klasse! ;)
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      komm mal icq dan nsag ich dir die skype und gib dir ne version
    • Vicolino
      Vicolino
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 149
      ICQ habe ich leider nicht...
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      son pech.... :-)
    • Vicolino
      Vicolino
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 149
      Wenn's nicht schwierig sein soll, dann dürfte es ja eigentlich ziemlich schnell gehen. =)
      Wäre jedenfalls nett, wenn Du einem AHK-Programmier-Laien helfen könntest!
      Muß ja auch nicht sofort sein... ;)
    • Vicolino
      Vicolino
      Bronze
      Dabei seit: 18.03.2006 Beiträge: 149
      Hat sich erledigt. Hab's selber hinbekommen. =)
    • Kongotto
      Kongotto
      Global
      Dabei seit: 05.05.2007 Beiträge: 5.194
      Original von Vicolino
      Hat sich erledigt. Hab's selber hinbekommen. =)
      schön!