nuts
ne zwangsläufig muß es nicht funktionieren.
Aber bis jetzt liefen alle (komplexere) Tools die ich mit AutoIt erstellt habe
Warum läuft dieses simple Skript nicht ![]()
GerhardSchr
doch es funktioniert dann immernoch
Spoiler anzeigen
#include <GuiListView.au3>
[/autoit] [autoit][/autoit] [autoit]$inifile = "IconFreezer.ini"
WinActivate("Program Manager")
WinWaitActive("Program Manager")
$hWnd_LV = ControlGetHandle("[CLASS:Progman]", "", "SysListView321")
WinMinimizeAll()
If Not FileExists($inifile) Then
_SaveIcons()
Else
_RestoreIcons()
EndIf
Func _SaveIcons()
FileClose(FileOpen($inifile, 2))
For $i = 0 To _GUICtrlListView_GetItemCount($hWnd_LV) - 1
$iconposx = _GUICtrlListView_GetItemPositionX($hWnd_LV, $i)
$iconposy = _GUICtrlListView_GetItemPositionY($hWnd_LV, $i)
$iconname = _GUICtrlListView_GetItemText($hWnd_LV, $i)
IniWriteSection($inifile, $iconname, "X=" & $iconposx & @LF & "Y=" & $iconposy)
Next
EndFunc ;==>_SaveIcons
Func _RestoreIcons()
For $i = 0 To _GUICtrlListView_GetItemCount($hWnd_LV) - 1
$iconpos = IniReadSection($inifile, _GUICtrlListView_GetItemText($hWnd_LV, $i))
If IsArray($iconpos) Then
$iconposx = _GUICtrlListView_GetItemPositionX($hWnd_LV, $i)
$iconposy = _GUICtrlListView_GetItemPositionY($hWnd_LV, $i)
If $iconposx <> $iconpos[1][1] Or $iconposy <> $iconpos[2][1] Then _GUICtrlListView_SetItemPosition($hWnd_LV, $i, $iconpos[1][1], $iconpos[2][1])
EndIf
$iconpos = 0
Next
EndFunc ;==>_RestoreIcons