Hi,
ich habe ein Script, welches mir die Startmenüeinträge ausließt und mir darauß dann Buttons auf einer GUI erzeugt. Funktioniert soweit auch ganz gut, bis auf das Problem, dass immer mal wieder ein Button fehlt. Ich finde aber einfach nicht den Fehler:
Spoiler anzeigen
#include <Misc.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
$search = FileFindFirstFile(@ProgramsCommonDir & "\*.*")
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 1000, @DesktopHeight, 0, 0, BitOR($WS_POPUP, $WS_CLIPSIBLINGS))
$anzahly = 1
$buttonx = 10
$buttony = -100
While 1
$file = FileFindNextFile($search)
$dir = @extended
If @error Then ExitLoop
If StringInStr($file, ".lnk") Then
If $anzahly < Int((@DesktopHeight - 10) / 110) Then
$anzahly = $anzahly + 1
$buttony = $buttony + 110
Else
$anzahly = 1
$buttony = 10
$buttonx = $buttonx + 110
EndIf
_lnkdetail("", $file, $buttonx, $buttony)
ElseIf $dir = 1 Then
$secondsearch = FileFindFirstFile(@ProgramsCommonDir & "\" & $file & "\*.*")
$secondpfad = $file & "\"
While 1
$secondfile = FileFindNextFile($secondsearch)
If @error Then ExitLoop
If StringInStr($secondfile, ".lnk") Then
If $anzahly < Int((@DesktopHeight - 10) / 110) Then
$anzahly = $anzahly + 1
$buttony = $buttony + 110
Else
$anzahly = 1
$buttony = 10
$buttonx = $buttonx + 110
EndIf
_lnkdetail($secondpfad, $secondfile, $buttonx, $buttony)
EndIf
WEnd
EndIf
WEnd
FileClose($search)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$maus = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _lnkdetail($pfad, $file, $buttonx, $buttony)
$details = FileGetShortcut(@ProgramsCommonDir & "\" & $pfad & $file)
If Not StringInStr($details[0], "C:\Windows\Installer") > 0 Then
$Button1 = GUICtrlCreateButton($file, $buttonx, $buttony, 100, 100)
EndIf
EndFunc ;==>_lnkdatail