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.
Mit Angeklicktem LVItem.
Aufbau der .ini
Alte Versionen
Window Handler v1.0.au3
#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
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 ###
Window Handler v1.1.au3
#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
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 ###
-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
Greez
Skilkor