ID: Q142822
This article demonstrates how to send dynamic data exchange (DDE) interface commands to the Microsoft Windows Program Manager from Microsoft Visual Basic for Windows using DDE.
The interface commands available through DDE with the Windows Program Manager are as follows:
   CreateGroup(GroupName,GroupPath)
   ShowGroup(GroupName,ShowCommand)
   AddItem(CommandLine,Name,IconPath,IconIndex,XPos,YPos)
   DeleteGroup(GroupName)
   ExitProgman(bSaveState)
An application can also obtain a list of Windows groups from the Windows Program Manager by issuing a LinkRequest to the "PROGMAN" item.
The following program demonstrates how to use four of the five Windows Program Manager DDE interface commands and the one DDE request:
1. Run Visual Basic for Windows, or on the File menu, click New Project
   (ALT, F, N) if Visual Basic for Windows is already running. Form1 is
   created by default.
      Object     Name         Caption
      --------------------------------
      TextBox    Text1
      Button     Command1     Make
      Button     Command2     Delete
      Button     Command3     Request
      Private Sub Command1_Click ()
         Text1.LinkTopic = "ProgMan|Progman"
         Text1.LinkMode = 2               ' Establish manual link.
         Text1.LinkExecute "[CreateGroup(Test Group)]"
             ' Make a group in Windows Program Manager.
         Text1.LinkExecute "[AddItem(c:\vb\vb.exe, Visual Basic)]"
             ' Add an item to that group.
         Text1.LinkExecute "[ShowGroup(Test Group, 7)]"
             ' Iconize the group and focus to VB application.
      On Error Resume Next  ' Disconnecting link with Windows Program
      Text1.LinkMode = 0    '  Manager causes an error in Windows 3.0.
                ' This is a known problem with Windows Program Manager.
      End Sub
      Private Sub Command2_Click ()
         Text1.LinkTopic = "ProgMan|Progman"
         Text1.LinkMode = 2          ' Establish manual link.
         Text1.LinkExecute "[DeleteGroup(Test Group)]"
             ' Delete the group and all items within it.
         On Error Resume Next  ' Disconnecting link with Windows Program
         Text1.LinkMode = 0    '  Manager causes an error in Windows 3.0.
                    ' This is a known problem with Windows Program Manager.
      End Sub
      Private Sub Command3_Click ()
         Text1.LinkTopic = "ProgMan|Progman"
         Text1.LinkItem = "PROGMAN"
         Text1.LinkMode = 2      ' Establish manual link.
         Text1.LinkRequest       ' Get a list of the groups.
         On Error Resume Next  ' Disconnecting link with Windows Program
         Text1.LinkMode = 0    '  Manager causes an error in Windows 3.0.
                ' This is a known problem with Windows Program Manager.
      End Sub
6. Click the Make button, and then click the Delete button. Note the
   result.
   Program Manager to be placed in the text box. The individual items are
   delimited by a carriage return plus linefeed.
For a more comprehensive explanation of the CreateGroup(), ShowGroup(), AddItem(), DeleteGroup(), and ExitProgman() commands, query on the following words in the Microsoft Knowledge Base:
   DDE and CreateGroup
Keywords          : kbcode kbnokeyword kbVBp400 kbVBp500 kbVBp600 IAPDDE 
Version           : WINDOWS:4.0;
Platform          : WINDOWS
Issue type        : kbhowtoLast Reviewed: August 9, 1998