Hey that's awesome Walker, it really helped a lot!
I guess I'm missing something here but I have no idea about it... lookie, it's your code, a bit modified, but it only adds one tree of the Start Menu folder... the folders inside Programs and Accesories and such are added in the same sub menu... without following hierarchy... got any ideas? :/
Code: Select all
CreatePopupMenu(1)
NewList dirliste.s()
path2$="Path to Start Menu goes here."
Path$=Path$
count=0
If ExamineDirectory(1,Path$,"*.*")
Repeat
a=NextDirectoryEntry()
If a<>0
If a=2 ;Folder
If DirectoryEntryName()<>"." And DirectoryEntryName()<>".."
AddElement(dirliste())
dirliste()=Path$+DirectoryEntryName()
EndIf
EndIf
If a=1 ;File
count+1
EndIf
EndIf
Until a=0
x=CountList(dirliste())-1
For n = 0 To x
SelectElement(dirliste(),n)
Path$=dirliste()
cnt=0
k$=StringField(Path$,1,"\") : While k$<>"" : k$=StringField(Path$,cnt,"\") : cnt=cnt+1 : Wend
GotIt=cnt-2
OpenSubMenu(StringField(Path$,GotIt,"\"))
If ExamineDirectory(2,Path$,"*.*")
Repeat
a=NextDirectoryEntry()
If a=2 ;Folder
If DirectoryEntryName()<>"." And DirectoryEntryName()<>".."
AddElement(dirliste())
dirliste()=Path$+"\"+DirectoryEntryName()
x=CountList(dirliste())-1
EndIf
EndIf
If a=1 ;File
If LCase(Right(DirectoryEntryName(),3))="lnk"
count+1
MenuItem(count,Left(DirectoryEntryName(),Len(DirectoryEntryName())-4))
EndIf
EndIf
Until a=0
CloseSubMenu()
Else
EndIf
Next n
ExamineDirectory(3,path2$,"*.*")
Repeat
a=NextDirectoryEntry()
If a<>0
If a=1 ;File
If LCase(Right(DirectoryEntryName(),3))="lnk"
count+1
MenuItem(count,Left(DirectoryEntryName(),Len(DirectoryEntryName())-4))
EndIf
EndIf
EndIf
Until a=0
EndIf
OpenWindow(1,0,0,10,10,0,"lol")
DisplayPopupMenu(1,WindowID())