Window Handler v1.1

  • Hey Ho
    Ewig nichtsmehr gemacht mit AutoIt und vorn Paar Tagen hab ich wieder mit nem Script Angefangen.
    Kennt Ihr dass auch, Ihr Started ein Programm, seht nebenbei ein Film oder Sonnstiges und das Gestartete Programm Verdeckt euch den Film weill es in der Mitte des Hauptbildschirmes Erscheint?
    Windows hat ja schon standard dabei dass es Bekannte Possitionen von Fenstern Speichert...Doch nicht bei allen, es sind nicht viele.
    Hier hab ich ein kleines Script, mit welchem sich das Problem beheben lässt.

    Ihr hoffe das kann dem Einem o. Anderem behilflich sein :3
    Für Meinungen und oder Kritik bin ich immer offen, sollang es kein Unnötiger Spamm oder Shitstorm ist.


    Funktion:
    -Listet in einer ListView vorhandene Fenster auf, gibt die Grösse des Fensters und die aktuelle y-x Possition aus (und paar kleine zusatz infos).
    -Die Possition sowie die Grösse des ausgewählten Fenster lassen sich in eine .ini Speichern und bei Bedarf Wiederherstellen.
    -Richtings Pfeile: Diese Pfeile lassen das ausgewählte Fenster VIER Pixel in die Gewünschte Richtung Verschieben (Feinjustierung, sozusagen).

    Funktion v1.1:
    -Neue Anzeige ob besagtes Fenster bereits Gespeichert wurde (Gespichert?: Ja/Nein)
    -Seperatierung: Man kann nun die fenster Possition sowie die fenstergrösse mit den Jeweiligen "Pfeilen" Verändern.


    So wird das Programm nach Start aussehen.
    autoit.de/wcf/attachment/23657/

    Mit Angeklicktem LVItem.
    autoit.de/wcf/attachment/23658/

    Aufbau der .ini
    autoit.de/wcf/attachment/23633/

    Alte Versionen
    Window Handler v1.0.au3
    [autoit]


    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Pic\icon.ico
    #AutoIt3Wrapper_outfile=Window Handler.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Skilkor(http://www.autoit.de)
    #AutoIt3Wrapper_Res_Language=1031
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;==============
    #region ### #include ###
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <WinAPI.au3>
    #endregion ### #include ###
    ;=============
    #region ### Global ###
    Global $WinStateCode, $LabelName, $LabelPosX, $LabelPosY, $WinWidth, $WinHeigh, $Status, $MUp, $MLeft, $MRight, $MDown, $Aktual, $Safe, $Move, $Global_Reso, $Art, $Ini_Op
    ;~
    Global $Grp[3][5] = [['Optionen', 5, 400, 330, 50] ,['Desktop Fenster', 5, 0, 330, 400] ,['Fenster Info', 340, 0, 180, 450]]
    ;~
    Global $Label[7][6] = [[$LabelName, 'Fenster Name: ', 350, 15, 160, 75] ,[$LabelPosX, 'Pos X: ', 350, 90, 160, 20] ,[$LabelPosY, 'Pos Y: ', 350, 110, 160, 20], _
    [$WinWidth, 'Breite: ', 350, 130, 160, 20] ,[$WinHeigh, 'Höhe: ', 350, 150, 160, 20] ,[$Status, 'Status: ', 350, 170, 160, 20], _
    [$Global_Reso, 'Globale Auflösung: ',350,260,160,20]]
    ;~
    Global $MoveSec[4][6] = [[$MUp, @ScriptDir & '\Pic\1.jpg',420,190,20,20] ,[$MLeft, @ScriptDir & '\Pic\2.jpg',410,210,20,20], _
    [$MRight, @ScriptDir & '\Pic\3.jpg', 430,210,20,20],[$MDown, @ScriptDir & '\Pic\4.jpg',420,230,20,20]]
    ;~
    Global $Button[4][6] = [[$Aktual, 'Aktuallisieren', 10, 415, 70, 25] ,[$Safe, 'Speichern', 85, 415, 60, 25] ,[$Move, 'Wiederherstellen', 150, 415, 90,25], _
    [$Ini_Op, 'Ini Öffnen',245,415,60,25]]
    ;~
    Global $ListView[5] = ['', 15, 15, 310, 375]
    Global $Header = 'Nr|Titel|Status'
    Global $LV_Style = BitOR($WS_EX_DLGMODALFRAME, $WS_EX_CLIENTEDGE)
    Global $LV_EX_STYLE = BitOR($LVS_EX_SUBITEMIMAGES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_FULLROWSELECT)
    ;~
    Global $WinList = WinList()
    ;~
    Global $WinStateCode[11][2] = [['1', 'Existiert'] ,['2', 'Sichtbar'] ,['4', 'Freigegeben'], _
    ['8', 'Aktiv'] ,['16', 'Minimiert'] ,['32', 'Maximiert'], _
    ['5', $WinStateCode[0][1]] ,['7', $WinStateCode[1][1]] ,['23', $WinStateCode[4][1]], _
    ['39', $WinStateCode[5][1]] ,['47', $WinStateCode[5][1]]]
    ;~
    Global $ReadListView = GUICtrlRead(GUICtrlRead($ListView))
    ;~
    Global $aRes = _GetGlobalResolution()
    #endregion ### Global ###
    ;=============
    #region ### GUI ###
    #region ### $hGui ###
    $hGui = GUICreate('Window Handler Prog', 525, 455, 500, 370)
    #endregion ### $hGui ###
    ;=============
    #region ### Gui Aufbau ###
    For $i = 0 To UBound($Label) - 1
    $Label[$i][0] = GUICtrlCreateLabel($Label[$i][1], $Label[$i][2], $Label[$i][3], $Label[$i][4], $Label[$i][5])
    Next
    ;~
    For $i = 0 To UBound($Grp) - 1
    GUICtrlCreateGroup($Grp[$i][0], $Grp[$i][1], $Grp[$i][2], $Grp[$i][3], $Grp[$i][4])
    Next
    ;~
    For $i = 0 To UBound($MoveSec) - 1
    $MoveSec[$i][0] = GUICtrlCreatePic($MoveSec[$i][1], $MoveSec[$i][2], $MoveSec[$i][3], $MoveSec[$i][4], $MoveSec[$i][5])
    Next
    #endregion ### Gui Aufbau ###
    ;=============
    #region ### Listview ###
    $ListView = GUICtrlCreateListView($Header, 15, 15, 310, 380, $LV_Style, $LV_EX_STYLE)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, 30)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 1, 200)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 2, 80)
    ;~
    For $i = 0 To $WinList[0][0]
    If $WinList[$i][0] <> '' And _IsVisible($WinList[$i][1]) Then
    GUICtrlCreateListViewItem($i & '|' & $WinList[$i][0] & '|' & _WinState($i), $ListView)
    EndIf
    Next
    #endregion ### Listview ###
    ;=============
    #region ### Button ###
    For $i = 0 To UBound($Button) - 1
    $Button[$i][0] = GUICtrlCreateButton($Button[$i][1], $Button[$i][2], $Button[$i][3], $Button[$i][4], $Button[$i][5])
    Next
    #endregion ### Button ###
    GUISetState(@SW_SHOW)
    #endregion ### GUI ###
    ;=============
    GUICtrlSetData($Label[6][0], 'Globale Auflösung: ' & $aRes[2] & 'x' & $aRes[3])
    #region ### Gui Event ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button[0][0] ;Aktuallisieren Button
    _Aktual()
    Case $Button[1][0] ;Speichern Button
    _Save()
    Case $Button[2][0] ;zu gesp. Coords Bewegen Button
    _Move()
    Case $Button[3][0] ;Ini Öffnen
    ShellExecute(@ScriptDir & '\Save Data.ini','','')
    Case $MoveSec[0][0] ;Up Pic (Button)
    _WinMoveSec(1)
    Case $MoveSec[1][0] ;Left Pic (Button)
    _WinMoveSec(2)
    Case $MoveSec[2][0] ;Right Pic (Button)
    _WinMoveSec(3)
    Case $MoveSec[3][0] ;Down Pic (Button)
    _WinMoveSec(4)
    EndSwitch
    ;~
    Select
    Case $nMsg = 'clicked=' ;Wenn ein ListViewItem Ausgewählt/Angeklickt wird
    _LVItemSelected()
    EndSelect
    WEnd
    #endregion ### Gui Event ###
    ;=============
    #region ### Functionen ###
    ;=============
    #region ### _IsVisible() ###
    Func _IsVisible($handle)
    If BitAND(WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>_IsVisible
    #endregion ### _IsVisible() ###
    ;=============
    #region ### _Aktual() ###
    Func _Aktual()
    _GUICtrlListView_DeleteAllItems($ListView)
    ;~
    For $i = 0 To UBound($WinList) - 1
    If $WinList[$i][0] <> '' And _IsVisible($WinList[$i][1]) Then
    GUICtrlCreateListViewItem($i & '|' & $WinList[$i][0] & '|' & _WinState($i), $ListView)
    EndIf
    Next
    EndFunc ;==>_Aktual
    #endregion ### _Aktual() ###
    ;=============
    #region ### _WinState($i) ###
    Func _WinState($i)
    For $a = 0 To UBound($WinStateCode) - 1
    If $WinList[$i][0] = 'Window Handler Prog' Then
    Return 'Maximiert'
    EndIf
    ;~
    If WinGetState($WinList[$i][0]) = $WinStateCode[$a][0] Then
    Return $WinStateCode[$a][1]
    EndIf
    Next
    EndFunc ;==>_WinState
    #endregion ### _WinState($i) ###
    ;=============
    #region ### _LVItemSelected() ###
    Func _LVItemSelected()
    If GUICtrlRead(GUICtrlRead($ListView)) = 0 Then
    Return
    EndIf
    ;~
    If GUICtrlRead($Label[0][0]) = GUICtrlRead(GUICtrlRead($ListView)) Then
    Return
    ElseIf GUICtrlRead(GUICtrlRead($ListView)) = Not 0 Then
    Sleep(85)
    GUICtrlSetData($Label[0][0], 'Fenster Name: ' & @CRLF & _Splitt(2))
    ;~
    For $i = 1 To UBound($Label) - 1
    GUICtrlSetData($Label[$i][0], $Label[$i][1] & _WinPos($i))
    Next
    ;~
    GUICtrlSetData($Label[5][0], 'Status: ' & _Splitt(3))
    ;~
    GUICtrlSetData($Label[6][0], 'Globale Auflösung: ' & $aRes[2] & 'x' & $aRes[3])
    EndIf
    EndFunc ;==>_LVItemSelected
    #endregion ### _LVItemSelected() ###
    ;=============
    #region ### _Splitt() ###
    Func _Splitt($Split = 0)
    Local $RLV = GUICtrlRead(GUICtrlRead($ListView))
    Local $SSplit = StringSplit($RLV, '|', 0)
    ;~
    For $i = 0 To UBound($SSplit) - 1
    If $Split >= 4 Then
    Return
    EndIf
    ;~
    If $Split = $i Then
    Return $SSplit[$i]
    EndIf
    Next
    EndFunc ;==>_Splitt
    #endregion ### _Splitt() ###
    ;=============
    #region ### _WinPos() ###
    Func _WinPos($Pos = 0)
    Local $WinPos = WinGetPos(_Splitt(2))
    ;~
    For $i = 1 To UBound($WinPos)
    If $Pos = $i Then
    Return $WinPos[$i - 1]
    EndIf
    Next
    EndFunc ;==>_WinPos
    #endregion ### _WinPos() ###
    ;=============
    #region ### _Save() ###
    Func _Save()
    For $i = 1 To 4
    IniWrite('Save Data.ini', _Splitt(2), $Label[$i][1], _WinPos($i))
    Next
    FileWrite('Save Data.ini', @CRLF)
    EndFunc ;==>_Save
    #endregion ### _Save() ###
    ;=============
    #region ### _Move() ###
    Func _Move()
    Local $Ini[5] = ['', '', '', '', '']
    For $i = 0 To 4
    $Ini[$i] = IniRead('Save Data.ini', _Splitt(2), $Label[$i][1], '')
    Next
    ;~
    WinMove(_Splitt(2), '', $Ini[1], $Ini[2], $Ini[3], $Ini[4])
    EndFunc ;==>_Move
    #endregion ### _Move() ###
    ;=============
    #region ### _GetGlobalResolution() ###
    Func _GetGlobalResolution()
    Local $aRes[4], $hWindow, $stRET
    $hWindow = _WinAPI_GetDesktopWindow()
    $stRET = _WinAPI_GetWindowPlacement($hWindow)
    If Not @error Then
    $aRes[0] = DllStructGetData($stRET, 'rcNormalPosition', 1) ; left
    $aRes[1] = DllStructGetData($stRET, 'rcNormalPosition', 2) ; top
    $aRes[2] = DllStructGetData($stRET, 'rcNormalPosition', 3) ; right
    $aRes[3] = DllStructGetData($stRET, 'rcNormalPosition', 4) ; bottom
    Return $aRes
    Else
    Return SetError(1, 0, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_GetGlobalResolution | Thx to Oscar? for this.
    #endregion ### _GetGlobalResolution() ###
    ;=============
    #region ### _WinMoveSec() ###
    Func _WinMoveSec($Art = 0)
    For $i = 1 To 4
    If $Art = 1 Then
    WinMove(_Splitt(2),'',_WinPos(1),_WinPos(2)-1,_WinPos(3),_WinPos(4))
    ElseIf $Art = 2 Then
    WinMove(_Splitt(2),'',_WinPos(1)-1,_WinPos(2),_WinPos(3),_WinPos(4))
    ElseIf $Art = 3 Then
    WinMove(_Splitt(2),'',_WinPos(1)+1,_WinPos(2),_WinPos(3),_WinPos(4))
    ElseIf $Art = 4 Then
    WinMove(_Splitt(2),'',_WinPos(1),_WinPos(2)+1,_WinPos(3),_WinPos(4))
    EndIf
    Next
    EndFunc
    #endregion ### _WinMoveSec() ###
    ;=============
    #endregion ### Functionen ###

    [/autoit]
    Window Handler v1.1.au3
    [autoit]


    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Pic\icon.ico
    #AutoIt3Wrapper_outfile=Window Handler.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Fileversion=1.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Skilkor(http://www.autoit.de)
    #AutoIt3Wrapper_Res_Language=1031
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;==============
    #region ### #include ###
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <WinAPI.au3>
    #endregion ### #include ###
    ;=============
    #region ### Global ###
    Global $WinStateCode, $LabelName, $LabelPosX, $LabelPosY, $WinWidth, $WinHeigh, $Status, $MUp, $MLeft, $MRight, $MDown, $GUp, $GLeft, $GRight, $GDown, $Aktual, $Safe, $Gesp, $Move, $Glob_Res, $Art, $Ini_Op
    ;~
    Global $Grp[5][5] = [['Optionen', 5, 400, 330, 50] ,['Desktop Fenster', 5, 0, 330, 400] ,['Fenster Info', 340, 0, 180, 230], _
    ['Fensterposition Verschieben',340,230,180,90] ,['Fenstergrösse Verändern',340,320,180,90]]
    ;~
    Global $Label[8][6] = [[$LabelName, 'Fenster Name: ', 350, 15, 160, 75] ,[$LabelPosX, 'Pos X: ', 350, 90, 160, 20] ,[$LabelPosY, 'Pos Y: ', 350, 110, 160, 20], _
    [$WinWidth, 'Breite: ', 350, 130, 160, 20] ,[$WinHeigh, 'Höhe: ', 350, 150, 160, 20] ,[$Status, 'Status: ', 350, 170, 160, 20], _
    [$Glob_Res, 'Globale Auflösung: ',350,190,160,20] ,[$Gesp, 'Gespeichert?: ',350,210,160,20]]
    ;~
    Global $MoveSec[4][6] = [[$MUp, @ScriptDir & '\Pic\1.jpg',420,250,20,20] ,[$MLeft, @ScriptDir & '\Pic\2.jpg',400,270,20,20], _
    [$MRight, @ScriptDir & '\Pic\3.jpg', 440,270,20,20],[$MDown, @ScriptDir & '\Pic\4.jpg',420,290,20,20]]
    ;~
    Global $Gro[4][6] = [[$GUp, @ScriptDir & '\Pic\1.jpg',420,340,20,20] ,[$GLeft, @ScriptDir & '\Pic\2.jpg',400,360,20,20], _
    [$GRight, @ScriptDir & '\Pic\3.jpg', 440,360,20,20],[$GDown, @ScriptDir & '\Pic\4.jpg',420,380,20,20]]
    ;~
    Global $Button[4][6] = [[$Aktual, 'Aktuallisieren', 10, 415, 70, 25] ,[$Safe, 'Speichern', 85, 415, 60, 25] ,[$Move, 'Wiederherstellen', 150, 415, 90,25], _
    [$Ini_Op, 'Ini Öffnen',245,415,60,25]]
    ;~
    Global $ListView[5] = ['', 15, 15, 310, 375]
    Global $Header = 'Nr|Titel|Status'
    Global $LV_Style = BitOR($WS_EX_DLGMODALFRAME, $WS_EX_CLIENTEDGE)
    Global $LV_EX_STYLE = BitOR($LVS_EX_SUBITEMIMAGES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_FULLROWSELECT)
    ;~
    Global $WinList = WinList()
    ;~
    Global $WinStateCode[11][2] = [['1', 'Existiert'] ,['2', 'Sichtbar'] ,['4', 'Freigegeben'], _
    ['8', 'Aktiv'] ,['16', 'Minimiert'] ,['32', 'Maximiert'], _
    ['5', $WinStateCode[0][1]] ,['7', $WinStateCode[1][1]] ,['23', $WinStateCode[4][1]], _
    ['39', $WinStateCode[5][1]] ,['47', $WinStateCode[5][1]]]
    ;~
    Global $ReadListView = GUICtrlRead(GUICtrlRead($ListView))
    ;~
    Global $aRes = _GetGlobalResolution()
    #endregion ### Global ###
    ;=============
    #region ### GUI ###
    #region ### $hGui ###
    $hGui = GUICreate('Window Handler Prog', 525, 455, 500, 370)
    #endregion ### $hGui ###
    ;=============
    #region ### Gui Aufbau ###
    For $i = 0 To UBound($Label) - 1
    $Label[$i][0] = GUICtrlCreateLabel($Label[$i][1], $Label[$i][2], $Label[$i][3], $Label[$i][4], $Label[$i][5])
    Next
    ;~
    For $i = 0 To UBound($Grp) - 1
    GUICtrlCreateGroup($Grp[$i][0], $Grp[$i][1], $Grp[$i][2], $Grp[$i][3], $Grp[$i][4])
    Next
    ;~
    For $i = 0 To UBound($MoveSec) - 1
    $MoveSec[$i][0] = GUICtrlCreatePic($MoveSec[$i][1], $MoveSec[$i][2], $MoveSec[$i][3], $MoveSec[$i][4], $MoveSec[$i][5])
    Next
    ;~
    For $i = 0 To UBound($Gro) - 1
    $Gro[$i][0] = GUICtrlCreatePic($Gro[$i][1], $Gro[$i][2], $Gro[$i][3], $Gro[$i][4], $Gro[$i][5])
    Next
    #endregion ### Gui Aufbau ###
    ;=============
    #region ### Listview ###
    $ListView = GUICtrlCreateListView($Header, 15, 15, 310, 380, $LV_Style, $LV_EX_STYLE)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, 30)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 1, 200)
    GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 2, 67)
    ;~
    For $i = 0 To $WinList[0][0]
    If $WinList[$i][0] <> '' And _IsVisible($WinList[$i][1]) Then
    GUICtrlCreateListViewItem($i & '|' & $WinList[$i][0] & '|' & _WinState($i), $ListView)
    EndIf
    Next
    #endregion ### Listview ###
    ;=============
    #region ### Button ###
    For $i = 0 To UBound($Button) - 1
    $Button[$i][0] = GUICtrlCreateButton($Button[$i][1], $Button[$i][2], $Button[$i][3], $Button[$i][4], $Button[$i][5])
    Next
    #endregion ### Button ###
    GUISetState(@SW_SHOW)
    #endregion ### GUI ###
    ;=============
    GUICtrlSetData($Label[6][0], 'Globale Auflösung: ' & $aRes[2] & 'x' & $aRes[3])
    #region ### Gui Event ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button[0][0] ;Aktuallisieren Button
    _Aktual()
    Case $Button[1][0] ;Speichern Button
    _Save()
    Case $Button[2][0] ;zu gesp. Coords Bewegen Button
    _Move()
    Case $Button[3][0] ;Ini Öffnen
    ShellExecute(@ScriptDir & '\Save Data.ini', '', '')
    Case $MoveSec[0][0] ;Up Pic (Button)
    _WinMoveSec(1)
    Case $MoveSec[1][0] ;Left Pic (Button)
    _WinMoveSec(2)
    Case $MoveSec[2][0] ;Right Pic (Button)
    _WinMoveSec(3)
    Case $MoveSec[3][0] ;Down Pic (Button)
    _WinMoveSec(4)
    Case $Gro[0][0] ;Up Pic (Button)
    _WinGroMove(1)
    Case $Gro[1][0] ;Left Pic (Button)
    _WinGroMove(2)
    Case $Gro[2][0] ;Right Pic (Button)
    _WinGroMove(3)
    Case $Gro[3][0] ;Down Pic (Button)
    _WinGroMove(4)
    EndSwitch
    ;~
    Select
    Case $nMsg = 'clicked=' ;Wenn ein ListViewItem Ausgewählt/Angeklickt wird
    _LVItemSelected()
    EndSelect
    WEnd
    #endregion ### Gui Event ###
    ;=============
    #region ### Functionen ###
    ;=============
    #region ### _IsVisible() ###
    Func _IsVisible($handle)
    If BitAND(WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>_IsVisible
    #endregion ### _IsVisible() ###
    ;=============
    #region ### _Aktual() ###
    Func _Aktual()
    _GUICtrlListView_DeleteAllItems($ListView)
    ;~
    For $i = 0 To UBound($WinList) - 1
    If $WinList[$i][0] <> '' And _IsVisible($WinList[$i][1]) Then
    GUICtrlCreateListViewItem($i & '|' & $WinList[$i][0] & '|' & _WinState($i), $ListView)
    EndIf
    Next
    EndFunc ;==>_Aktual
    #endregion ### _Aktual() ###
    ;=============
    #region ### _WinState($i) ###
    Func _WinState($i)
    For $a = 0 To UBound($WinStateCode) - 1
    If $WinList[$i][0] = 'Window Handler Prog' Then
    Return 'Maximiert'
    EndIf
    ;~
    If WinGetState($WinList[$i][0]) = $WinStateCode[$a][0] Then
    Return $WinStateCode[$a][1]
    EndIf
    Next
    EndFunc ;==>_WinState
    #endregion ### _WinState($i) ###
    ;=============
    #region ### _LVItemSelected() ###
    Func _LVItemSelected()
    If GUICtrlRead(GUICtrlRead($ListView)) = 0 Then
    Return
    EndIf
    ;~
    If GUICtrlRead($Label[0][0]) = GUICtrlRead(GUICtrlRead($ListView)) Then
    Return
    ElseIf GUICtrlRead(GUICtrlRead($ListView)) = Not 0 Then
    Sleep(100)
    GUICtrlSetData($Label[0][0], 'Fenster Name: ' & @CRLF & _Splitt(2))
    ;~
    For $i = 1 To UBound($Label) - 1
    GUICtrlSetData($Label[$i][0], $Label[$i][1] & _WinPos($i))
    Next
    ;~
    GUICtrlSetData($Label[5][0], 'Status: ' & _Splitt(3))
    ;~
    GUICtrlSetData($Label[6][0], 'Globale Auflösung: ' & $aRes[2] & 'x' & $aRes[3])
    ;~
    GUICtrlSetData($Label[7][0], $Label[7][1] & _SafeVor())
    EndIf
    EndFunc ;==>_LVItemSelected
    #endregion ### _LVItemSelected() ###
    ;=============
    #region ### _Splitt() ###
    Func _Splitt($Split = 0)
    Local $RLV = GUICtrlRead(GUICtrlRead($ListView))
    Local $SSplit = StringSplit($RLV, '|', 0)
    ;~
    For $i = 0 To UBound($SSplit) - 1
    If $Split >= 4 Then
    Return
    EndIf
    ;~
    If $Split = $i Then
    Return $SSplit[$i]
    EndIf
    Next
    EndFunc ;==>_Splitt
    #endregion ### _Splitt() ###
    ;=============
    #region ### _WinPos() ###
    Func _WinPos($Pos = 0)
    Local $WinPos = WinGetPos(_Splitt(2))
    ;~
    For $i = 1 To UBound($WinPos)
    If $Pos = $i Then
    Return $WinPos[$i - 1]
    EndIf
    Next
    EndFunc ;==>_WinPos
    #endregion ### _WinPos() ###
    ;=============
    #region ### _Save() ###
    Func _Save()
    For $i = 1 To 4
    IniWrite('Save Data.ini', _Splitt(2), $Label[$i][1], _WinPos($i))
    Next
    FileWrite('Save Data.ini', @CRLF)
    EndFunc ;==>_Save
    #endregion ### _Save() ###
    ;=============
    #region ### _Move() ###
    Func _Move()
    Local $Ini[5] = ['', '', '', '', '']
    For $i = 0 To 4
    $Ini[$i] = IniRead('Save Data.ini', _Splitt(2), $Label[$i][1], '')
    Next
    ;~
    WinMove(_Splitt(2), '', $Ini[1], $Ini[2], $Ini[3], $Ini[4])
    EndFunc ;==>_Move
    #endregion ### _Move() ###
    ;=============
    #region ### _GetGlobalResolution() ###
    Func _GetGlobalResolution()
    Local $aRes[4], $hWindow, $stRET
    $hWindow = _WinAPI_GetDesktopWindow()
    $stRET = _WinAPI_GetWindowPlacement($hWindow)
    If Not @error Then
    $aRes[0] = DllStructGetData($stRET, 'rcNormalPosition', 1) ; left
    $aRes[1] = DllStructGetData($stRET, 'rcNormalPosition', 2) ; top
    $aRes[2] = DllStructGetData($stRET, 'rcNormalPosition', 3) ; right
    $aRes[3] = DllStructGetData($stRET, 'rcNormalPosition', 4) ; bottom
    Return $aRes
    Else
    Return SetError(1, 0, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_GetGlobalResolution
    #endregion ### _GetGlobalResolution() ###
    ;=============
    #region ### _WinMoveSec() ###
    Func _WinMoveSec($Art = 0)
    For $i = 1 To 4
    If $Art = 1 Then
    WinMove(_Splitt(2), '', _WinPos(1), _WinPos(2), _WinPos(3), _WinPos(4) - 1)
    ElseIf $Art = 2 Then
    WinMove(_Splitt(2), '', _WinPos(1), _WinPos(2), _WinPos(3) - 1, _WinPos(4))
    ElseIf $Art = 3 Then
    WinMove(_Splitt(2), '', _WinPos(1), _WinPos(2), _WinPos(3) + 1, _WinPos(4))
    ElseIf $Art = 4 Then
    WinMove(_Splitt(2), '', _WinPos(1), _WinPos(2), _WinPos(3), _WinPos(4) + 1)
    EndIf
    Next
    EndFunc ;==>_WinMoveSec
    #endregion ### _WinMoveSec() ###
    ;=============
    #region ### _WinGroMove() ###
    Func _WinGroMove($Art = 0)
    For $i = 1 To 4
    If $Art = 1 Then
    WinMove(_Splitt(2), '', _WinPos(1), _WinPos(2) - 1, _WinPos(3), _WinPos(4))
    ElseIf $Art = 2 Then
    WinMove(_Splitt(2), '', _WinPos(1) - 1, _WinPos(2), _WinPos(3), _WinPos(4))
    ElseIf $Art = 3 Then
    WinMove(_Splitt(2), '', _WinPos(1) + 1, _WinPos(2), _WinPos(3), _WinPos(4))
    ElseIf $Art = 4 Then
    WinMove(_Splitt(2), '', _WinPos(1), _WinPos(2) + 1, _WinPos(3), _WinPos(4))
    EndIf
    Next
    EndFunc ;==>_WinGroMove
    #endregion ### _WinGroMove() ###
    ;=============
    #region ### _SafeVor() ###
    Func _SafeVor()
    Local $ini_vor = IniReadSection('Save Data.ini', _Splitt(2))
    If IsArray($ini_vor) = 1 Then
    Return 'Ja'
    Else
    Return 'Nein'
    EndIf
    EndFunc ;==>_SafeVor
    #endregion ### _SafeVor() ###
    ;=============
    #endregion ### Functionen ###

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    -Bugs:
    Aktuallisierungs Button Aktuallisiert zwar, doch anscheinen nicht richtig. Ich seh den Fehler nicht, aber falls ihn Jemand findet und eine Lösung dazu weiss, nur her damit. :)


    -Download
    autoit.de/wcf/attachment/23659/
    autoit.de/wcf/attachment/23660/

    Greez
    Skilkor

  • Versions Update

    Mögliche Idee für Erweiterung?
    Mit GDI+ ein Abbild des Bildschirmes zu machen (Monitor Grösse in einem, 1/5? verhaltniss) wo die Possition des gewählten fensters Angezeigt wird.
    (Diese Idee ist sehr gut Erweiterbar (Wenn die grundlage mal vorhanden ist, wann? Dann wan ich zeit habe))

    Wen sonst noch ideen vorhanden sind, nur her damit :)

    Greez Skilkor

    Einmal editiert, zuletzt von Skilkor (29. Oktober 2013 um 15:40)