'VB3 & win3.x
'use as
'Call CreateProgManGroup(Form1,[groupname],[groupfile])
'Call CreateProgManItem(Form1,[path&executablename],[iconname])

'-------------------------------------------------------------
' Procedure: CreateProgManGroup
' Arguments: X           The Form where a Label1 exist
'            GroupName$  A string that contains the group name
'            GroupPath$  A string that contains the group file
'                        name  ie 'myapp.grp'
'-------------------------------------------------------------
Sub CreateProgManGroup (x 

as

Form, GroupName$, GroupPath$) Screen.MousePointer = 11 '---------------------------------------------------------------------- ' Windows requires DDE in order to create a

program

group and item. ' Here, a

visual

Basic label control is used to generate the DDE messages '---------------------------------------------------------------------- On Error Resume Next '-------------------------------- '

set

LinkTopic to

program

MANAGER '-------------------------------- x.Label1.LinkTopic = "ProgMan|Progman" x.Label1.LinkMode = 2 For i% = 1 To 10 '

loop

to ensure that there is enough

time

to z% = DoEvents() ' process DDE Execute. This is

redundant

but needed Next ' for debug windows. x.Label1.LinkTimeout = 100 '--------------------- ' Create

program

group '--------------------- x.Label1.LinkExecute "[CreateGroup(" + GroupName$ + Chr$(44) + GroupPath$ + ")]" '----------------- ' Reset properties '----------------- x.Label1.LinkTimeout = 50 x.Label1.LinkMode = 0 Screen.MousePointer = 0 End Sub '---------------------------------------------------------- ' Procedure: CreateProgManItem ' ' Arguments: X The form where Label1 exists ' ' CmdLine$ A string that contains the command ' line for the item/icon. ' ie 'c:\myapp\setup.exe' ' ' IconTitle$ A string that contains the item's ' caption '---------------------------------------------------------- Sub CreateProgManItem (x

as

Form, CmdLine$, IconTitle$) Screen.MousePointer = 11 '---------------------------------------------------------------------- ' Windows requires DDE in order to create a

program

group and item. ' Here, a

visual

Basic label control is used to generate the DDE messages '---------------------------------------------------------------------- On Error Resume Next '--------------------------------- '

set

LinkTopic to

program

MANAGER '--------------------------------- x.Label1.LinkTopic = "ProgMan|Progman" x.Label1.LinkMode = 2 For i% = 1 To 10 '

loop

to ensure that there is enough

time

to z% = DoEvents() ' process DDE Execute. This is

redundant

but needed Next ' for debug windows. x.Label1.LinkTimeout = 100 '------------------------------------------------ ' Create

program

Item, one of the icons to launch ' an application from

program

Manager '------------------------------------------------ ' Win 3.1 has a ReplaceItem, which will allow us to replace existing icons x.Label1.LinkExecute "[ReplaceItem(" + IconTitle$ + ")]" x.Label1.LinkExecute "[AddItem(" + CmdLine$ + Chr$(44) + IconTitle$ + Chr$(44) + ",,)]" x.Label1.LinkExecute "[ShowGroup(groupname, 1)]" ' This will ensure that

program

manager

does not ' have a Maximized group, which causes problem in RestoreProgMan '----------------- ' Reset properties '----------------- x.Label1.LinkTimeout = 50 x.Label1.LinkMode = 0 Screen.MousePointer = 0 End Sub
Return