home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Today (BR) Volume 4 #14 / CDRTODAY.iso / SETUP.BAS < prev    next >
BASIC Source File  |  1997-06-27  |  6KB  |  155 lines

  1. '-------------------------------------------------------------
  2. ' Procedure: CreateProgManGroup
  3. ' Arguments: X           The Form where a Label1 exist
  4. '            GroupName$  A string that contains the group name
  5. '            GroupPath$  A string that contains the group file
  6. '                        name  ie 'myapp.grp'
  7. '-------------------------------------------------------------
  8. Sub CreateProgManGroup (x As Form, GroupName$, GroupPath$)
  9.     On Local Error Resume Next
  10.     'Screen. = 11
  11.     '----------------------------------------------------------------------
  12.     ' Windows requires DDE in order to create a program group and item.
  13.     ' Here, a Visual Basic label control is used to generate the DDE messages
  14.     '----------------------------------------------------------------------
  15.     'On Error Resume Next
  16.     
  17.     '--------------------------------
  18.     ' Set LinkTopic to PROGRAM MANAGER
  19.     '--------------------------------
  20.     x.Label1.LinkMode = 0
  21.     x.Label1.LinkTopic = "ProgMan|Progman"
  22.     x.Label1.LinkMode = 2
  23.     For i% = 1 To 100                                        ' Loop to ensure that there is enough time to
  24.       z% = DoEvents()                                        ' process DDE Execute.  This is redundant but needed
  25.     Next                                                     ' for debug windows.
  26.     x.Label1.LinkTimeout = 100
  27.  
  28.     '---------------------
  29.     ' Create program group
  30.     '---------------------
  31.     
  32.     x.Label1.LinkExecute "[CreateGroup(" + GroupName$ + Chr$(44) + GroupPath$ + ")]"
  33.  
  34.     '-----------------
  35.     ' Reset properties
  36.     '-----------------
  37.     x.Label1.LinkTimeout = 50
  38.     x.Label1.LinkMode = 0
  39. '    If Err <> 0 Then
  40. '        MsgBox "Erro ao criar o grupo de programa." & Chr(10) & "Tente reiniciar o computador para" & Chr(10) & "corrigir este erro.", 16
  41. '    End If
  42.     'Screen.MousePointer = 1
  43. End Sub
  44.  
  45. '----------------------------------------------------------
  46. ' Procedure: CreateProgManItem
  47. '
  48. ' Arguments: X           The form where Label1 exists
  49. '
  50. '            CmdLine$    A string that contains the command
  51. '                        line for the item/icon.
  52. '                        ie 'c:\myapp\setup.exe'
  53. '
  54. '            IconTitle$  A string that contains the item's
  55. '                        caption
  56. '----------------------------------------------------------
  57. Sub CreateProgManItem (x As Form, CmdLine$, IconTitle$, Icone$, dirDefault$)
  58.     
  59.     'Screen.MousePointer = 11
  60.     
  61.     '----------------------------------------------------------------------
  62.     ' Windows requires DDE in order to create a program group and item.
  63.     ' Here, a Visual Basic label control is used to generate the DDE messages
  64.     '----------------------------------------------------------------------
  65.     On Local Error Resume Next
  66.  
  67.     '---------------------------------
  68.     ' Set LinkTopic to PROGRAM MANAGER
  69.     '---------------------------------
  70.     x.Label1.LinkTopic = "ProgMan|Progman"
  71.     x.Label1.LinkMode = 2
  72.     For i% = 1 To 100                                         ' Loop to ensure that there is enough time to
  73.       z% = DoEvents()                                        ' process DDE Execute.  This is redundant but needed
  74.     Next                                                     ' for debug windows.
  75.     x.Label1.LinkTimeout = 100
  76.     
  77.     '------------------------------------------------
  78.     ' Create Program Item, one of the icons to launch
  79.     ' an application from Program Manager
  80.     '------------------------------------------------
  81.     
  82. 'verificando a versπo do windows
  83.     
  84.     TheVerInfo& = GetVersion()
  85.     WinVer& = TheVerInfo& And &HFFFF&
  86.     If Val(Format$(WinVer& Mod 256) + "." + Format$(WinVer& \ 256)) >= 3.1 Then
  87.     gfWin31% = True
  88.     End If
  89.     If gfWin31% Then
  90.     'Criando φcone
  91.     x.Label1.LinkExecute "[ReplaceItem(" + IconTitle$ + ")]"
  92.     End If
  93.     x.Label1.LinkExecute "[AddItem(" + CmdLine$ + "," + IconTitle$ + "," + Icone$ + ",0,,," + dirDefault$ + ")]"
  94.     'x.Label1.LinkExecute "[ShowGroup(" + GroupName$ + ", 6)]"
  95.     'x.Label1.LinkExecute "[ReplaceItem(" + IconTitle$ + ")]"
  96.  
  97.     '-----------------
  98.     ' Reset properties
  99.     '-----------------
  100.     x.Label1.LinkTimeout = 50
  101.     x.Label1.LinkMode = 0
  102. '    If Err <> 0 Then
  103. '        MsgBox "Erro ao criar o item de programa." & Chr(10) & "Tente reiniciar o computador para" & Chr(10) & "corrigir este erro.", 16
  104. '    End If
  105.     'Screen.MousePointer = 1
  106. End Sub
  107.  
  108. Sub DeleteGroupItemName (x As Form, GroupName$, ItemName$)
  109.     'Screen.MousePointer = 11
  110.     
  111.     On Local Error Resume Next
  112.  
  113.     x.Label1.LinkTopic = "ProgMan|Progman"
  114.     x.Label1.LinkMode = 2
  115.     For i% = 1 To 100                                         ' Loop to ensure that there is enough time to
  116.       z% = DoEvents()                                        ' process DDE Execute.  This is redundant but needed
  117.     Next                                                     ' for debug windows.
  118.     x.Label1.LinkTimeout = 100
  119.     
  120.     
  121. 'verificando a versπo do windows
  122.     
  123.     TheVerInfo& = GetVersion()
  124.     WinVer& = TheVerInfo& And &HFFFF&
  125.     If Val(Format$(WinVer& Mod 256) + "." + Format$(WinVer& \ 256)) >= 3.1 Then
  126.     gfWin31% = True
  127.     End If
  128.     
  129.     x.Label1.LinkExecute "[ShowGroup(" + GroupName$ + ", 1)]"
  130.     x.Label1.LinkExecute "[DeleteItem(" + ItemName$ + ")]"
  131.     x.Label1.LinkExecute "[ShowGroup(" + GroupName$ + ", 6)]"
  132.     'x.Label1.LinkExecute "[ReplaceItem(" + IconTitle$ + ")]"
  133.  
  134.     '-----------------
  135.     ' Reset properties
  136.     '-----------------
  137.     x.Label1.LinkTimeout = 50
  138.     x.Label1.LinkMode = 0
  139.  
  140.     RestoreProgman
  141. '    If Err <> 0 Then
  142. '        MsgBox "Erro ao criar o item de programa." & Chr(10) & "Tente reiniciar o computador para" & Chr(10) & "corrigir este erro.", 16
  143. '    End If
  144.  
  145. End Sub
  146.  
  147. Sub RestoreProgman ()
  148.     On Error GoTo RestoreProgManErr
  149.     AppActivate "Program Manager"   ' Activate Program Manager.
  150.     SendKeys "%{ }{Enter}", True      ' Send Restore keystrokes.
  151. RestoreProgManErr:
  152.     Exit Sub
  153. End Sub
  154.  
  155.