Operating System - retrieve listing of Program Groups

 

'Description: Uses DDE to retrieve a complete listing of Program Groups
' in List1 and Program Items in List2

'Uses 2 listBoxes and 2 TextBoxes. Use default names.
'Sub Form_Load ()
Text1.Visible = False
Text2.Visible = False
GetGroups List1
'End Sub

'Sub List1_Click ()
GetItems List2
'End Sub

'Sub GetGroups (OutPutCtl As ListBox)
On Error GoTo GError
Text1.LinkTopic = "Progman|Progman"
Text1.LinkMode = 2
Text1.LinkItem = "groups"
Text1.LinkRequest
OutPutCtl.Clear
sGroups$ = Text1
pos% = InStr(1, sGroups$, Chr$(13))
While pos%
OutPutCtl.AddItem RTrim$(Mid$(sGroups$, 1, pos% - 1))
sGroups$ = LTrim$(Mid$(sGroups$, pos% + 2))
pos% = InStr(1, sGroups$, Chr$(13))
Wend
OutPutCtl.ListIndex = 0
Text1.LinkMode = 0
Exit Sub

GError:
MsgBox Error
Resume Next
'End Sub


'Sub GetItems (OutPutCtl As ListBox)
On Error GoTo IError
OutPutCtl.Clear
If Len(List1.Text) Then
Text2.LinkTopic = "Progman|Progman"
Text2.LinkMode = 2
Text2.LinkItem = List1
Text2.LinkRequest
sItems$ = Text2
pos% = InStr(1, sItems$, Chr$(44))
temp% = InStr(1, sItems$, Chr$(10))
If temp% < pos% Then pos% = temp%
While pos%
sItems$ = LTrim$(Mid$(sItems$, pos% + 1))
pos% = InStr(1, sItems$, Chr$(44))
temp% = InStr(1, sItems$, Chr$(10))
If temp% < pos% Then pos% = temp%
cnt% = cnt% + 1
If Int((cnt% - 4) / 9) = (cnt% - 4) / 9 Then
tststr$ = RTrim$(Mid$(sItems$, 1, pos% - 1))
Sppos1% = InStr(1, tststr$, Chr$(34))
SpPos2% = InStr(Sppos1% + 1, tststr$, Chr$(34))
OutPutCtl.AddItem Mid$(tststr$, Sppos1% + 1, (SpPos2% - Sppos1%) - 1)
End If
Wend
End If
Text2.LinkMode = 0
Exit Sub
IError:
MsgBox Error
Resume Next
'End Sub


 

Back

Index

Return to home page