home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 February / PCWorld_1999-02_cd.bin / software / Zkuste / WinBat98 / PROGMAN.WI_ < prev    next >
Text File  |  1996-10-24  |  6KB  |  196 lines

  1. ;;Program manager WBT script.  Adding/Deleting/Showing Program Manager Groups and Icons.  
  2.  
  3.                     ;;Written February 1994  by Wilson WindowWare, Inc.  
  4.                     ;;Modifed July 1995
  5.                     ;;Sept 96  Fixed bug in Reload.  Added ListIcons Removed ProgBuild
  6.  
  7. ;;Call Progman.wil
  8. ;;Syntax of commands:
  9. ;;    Call("progman.wil", "AddGroup 'Group Title'")
  10. ;;        (             , "DelGroup 'Group Title'")
  11. ;;        (             , "AddIcon 'Group Title' 'File and Path' 'Icon Description''wrk dir'")
  12. ;;        (             , "DelIcon 'Group Title' 'Icon Description'")
  13. ;;        (             , "ShowGroup 'Group Title' ShowCommand")
  14. ;;        (             , "ReplaceItem 'Group Title' 'Icon Description'")
  15. ;;        (             , "Reload 'Group Title'")
  16. ;;        (             , "IconDump 'Group Title''Icon Description' 'variable name'")
  17. ;;        (             , "ListGroups 'variable name'")    ; Sets variable to tab delimited list of groups
  18. ;;        (             , "ListIcons 'Group Title' 'variable name'")    ; Creates a tab delimited list of icons.
  19. ;;    Call("progman.wil", "AddNewData '%grptitle%' '%data%'")
  20.  
  21.  
  22. ;;Show command is an integer which specifies the action Program Manager is to perform on the group window.
  23. ;;        VALUE          ACTION
  24. ;;          1               Restores group to its original size and position.
  25. ;;          2               Displays group as an icon.
  26. ;;          3               Displays group as a maximized window.
  27. ;;          6               Minimizes the group window.
  28. ;;                                 
  29.  
  30.  
  31. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  32. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  33. ;Check to see if Program manager is running.  If not, run it.
  34. AX=DDEInitiate("Progman", "Progman")
  35. IF AX==0    ; Hmmm nobody's home
  36.     run("progman.exe","")
  37.     delay(2)
  38.     AX=DDEInitiate("Progman", "Progman")
  39.     If AX==0     ;   ooooo its really dead.  Give up
  40.          Message("Program Manager DDE Initiate", "Didn't work.  Giving up.  Going home")
  41.          return 
  42.     endif
  43. endif
  44.  
  45.  
  46. ErrorMode(@OFF)
  47. If AppExist("Progman.exe")  then WinActivate("Program Manager")
  48. ErrorMode(@ON)
  49. ErrorMSG=""
  50. ; Fake a case statement with a string for a variable
  51. Goto %Param1%
  52.            
  53.  
  54.  
  55. :ADDGROUP
  56. ;Add a group to program manager.                                                              
  57.      
  58. Err=DDEExecute(AX,"[CreateGroup(%param2%)]")
  59. If Err==0 then ErrorMSG="[CreateGroup(%param2%)] Failed"
  60. goto byebye
  61.  
  62.  
  63.  
  64. :ListGroups
  65. ;List groups.                                                              
  66. %param2%=DDERequest(AX,"Groups")
  67. If %param2%==0 then ErrorMSG="Groups Failed"
  68. %param2%=strreplace(%param2%,@crlf,@tab)
  69. goto byebye
  70.  
  71.  
  72.  
  73. :DELGROUP
  74. ;Delete a group from the program manager.
  75.      
  76. Err=DDEExecute(AX,"[DeleteGroup(%param2%)]")
  77. If Err==0 then ErrorMSG="[DeleteGroup(%param2%)] Failed"
  78. goto byebye
  79.  
  80.  
  81.  
  82. :ADDICON
  83. ;Add an icon to a program group.
  84.  
  85. ;show or create the group first.
  86. DDEExecute(AX,"[CreateGroup(%param2%)]")
  87. ;Add the item.     
  88. Err=DDEExecute(AX,"[AddItem(%param3%,%param4%,,,-1,-1,%param5%,0)]")
  89. If Err==0 then ErrorMSG="[AddItem(%param3%,%param4%,,,-1,-1,%param5%,0)] Failed"
  90. goto byebye
  91.  
  92.  
  93.  
  94.  
  95.  
  96. :DELICON
  97. ;Delete an icon from the program manager.
  98.  
  99. ;show or create the group
  100. DDEExecute(AX,"[ShowGroup(%param2%,1)]")
  101. ;Delete the icon.     
  102. Err=DDEExecute(AX,"[DeleteItem(%param3%)]")
  103. If Err==0 then ErrorMSG="[DeleteItem(%param3%)] Failed"
  104. goto byebye
  105.  
  106.  
  107.  
  108.  
  109. :SHOWGROUP
  110. ;Show a program group. 
  111.      
  112. ;show or create the group
  113. Err=DDEExecute(AX,"[ShowGroup(%param2%,%param3%,)]")
  114. If Err==0 then ErrorMSG="[ShowGroup(%param2%,%param3%,)] Failed"
  115. goto byebye
  116.  
  117.  
  118.  
  119.  
  120. :RELOAD
  121. ;This command instructs Program Manager to remove and reload an existing group.
  122.  
  123. ;Show the group.
  124. DDEExecute(AX,"[ShowGroup(%param2%,1)]")
  125. delay(2)
  126. Err=DDEExecute(AX,"[Reload(%param2%)]")
  127. If Err==0 then ErrorMSG="[Reload("")] Failed"
  128. goto byebye
  129.  
  130.  
  131.  
  132.  
  133. :REPLACEITEM
  134. ;This command deletes an item and records the position.  A new item can be added to this 
  135. ;position using AddIcon.
  136.  
  137. ;Show the group.
  138. DDEExecute(AX,"[ShowGroup(%param2%,1)]")
  139. delay(2)
  140.  
  141. ;record the position and delete existing group.
  142. Err=DDEExecute(AX,"[ReplaceItem(%param3%)]")
  143. If Err==0 then ErrorMSG="[ReplaceItem(%param3%)] Failed"
  144. goto byebye
  145.  
  146. :ADDNEWDATA
  147. ;Add an icon by adding all information. Use with Progbuild or IconDump to create line.
  148.  
  149. ;show or create the group first.
  150. DDEExecute(AX,"[CreateGroup(%param2%)]")
  151. ;Add the item.     
  152. Err=DDEExecute(AX,"[AddItem(%param3%)]")
  153. If Err==0 then ErrorMSG="[AddItem(%param3%)] Failed"
  154. goto byebye
  155.  
  156.  
  157. :IconDump 
  158. ;;This command accesses a group and then searches the group for a specific icon title.
  159. ;;The DDE Syntax for the icon is returned to the calling program as a variable.
  160. ;;Open a channel to a specified Group
  161.  
  162. groups= DDERequest(AX, param2)
  163. groups = StrReplace(groups, @crlf, @tab)
  164. groups = ItemSort(groups, @tab)
  165. count=ItemCount(groups,@tab)
  166. For j = 1 to count by 1
  167.         item = ItemExtract(j, groups, @tab)
  168.         itemicon=ItemExtract(1, item, ",")
  169.         if '"%param3%"'==itemicon then break   ;; Compare each line to the specified icon title.
  170. Next            
  171. if '"%param3%"'!=itemicon      ;;If the specified icon title is found, break loop.
  172.         ErrorMSG="[IconDump] Failed"
  173.         break
  174. else
  175.         %param4%=item   ;;icon title is set to equal and then returned as the supplied variable name.
  176. endif
  177. goto byebye
  178.  
  179. :LISTICONS
  180. ;;
  181.   items = DDERequest(AX, param2)                 ;;Create a list of icons within chosen group.
  182.   If items==0 then errormsg="Ack, Ack, List Icon Error"
  183.   items = StrReplace(items, @crlf, @tab)
  184.   %param3%=items     ;;icon title is set to equal and then returned as the supplied variable name.
  185.  
  186. goto byebye
  187.  
  188.  
  189. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  190. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  191. :byebye
  192. DDETerminate(AX)
  193. If ErrorMSG!="" then message("Progman DDE Failed", ErrorMSG)
  194. RETURN
  195.  
  196.