• Welcome to Jose's Read Only Forum 2023.
 

IWshShell.SpecialFolders Property

Started by José Roca, July 14, 2008, 07:22:21 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

José Roca



The following code retrieves the path of the specified special folder.

JScript


var WshShell = WScript.CreateObject("WScript.Shell");
strDesktop = WshShell.SpecialFolders("Desktop");


VBScript


set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")


PowerBASIC


DIM pWsh AS IWshShell
DIM pSpecialFolders AS IWshCollection
DIM vItem AS VARIANT
DIM vValue AS VARIANT
pWsh = NEWCOM "WScript.Shell"
pSpecialFolders = pWsh.SpecialFolders
vItem = "Desktop"
vValue = pSpecialFolders.Item(vItem)
PRINT VARIANT$(vValue)


José Roca

 
The following code enumerates the special folders collection.


#COMPILE EXE
#DIM ALL
#INCLUDE "WSHOM.INC"

FUNCTION PBMAIN

   LOCAL pWsh AS IWshShell
   LOCAL pSpecialFolders AS IWshCollection
   LOCAL nCount AS LONG
   LOCAL i AS LONG
   LOCAL vItem AS VARIANT
   LOCAL vValue AS VARIANT

   pWsh = NEWCOM "WScript.Shell"
   IF ISNOTHING(pWsh) THEN EXIT FUNCTION

   ' Get a reference to the special folders collection
   pSpecialFolders = pWsh.SpecialFolders
   IF ISNOTHING(pSpecialFolders) THEN
      MSGBOX "IWshShell.get_SpecialFolders: Error &H" & HEX$(OBJRESULT)
      EXIT FUNCTION
   END IF

   ' Get the number of objects in the collection
   nCount = pSpecialFolders.Count

   ' Enumerates the collection
   FOR i = 0 TO nCount - 1
      vItem = i AS LONG
      vValue = pSpecialFolders.Item(vItem)
      IF OBJRESULT THEN EXIT FOR
      MSGBOX VARIANT$(vValue)
   NEXT

END FUNCTION