MartyConnelly
martyconnelly at shaw.ca
Thu Nov 18 14:32:16 CST 2004
How about using the shell.application object, I only came across these methods recently See url below for more examples under methods vbscript samples 'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/browseforfolder.asp ' Some caveats you may get odd results if opening to printers or network neighbourhoods 'trying to pick an individual file on winxp using objShell.BrowseForFolder method will gpf , known bug 'but works under win 2000 Here are some examples Function fnShellExploreJ() 'opens windows explorer at a specific directory in this example c:\ Dim objShell as object Set objShell = CreateObject("Shell.Application") objShell.Explore ("C:\") Set objShell = Nothing End Function Sub testshell() 'open various control panel windows Dim shl As Object Set shl = CreateObject("Shell.Application") 'shl.ControlPanelItem CStr("desk.cpl") 'opens Analog clock and date selection panel shl.ControlPanelItem CStr("TIMEDATE.CPL") 'shl.ControlPanelItem CStr("INETCPL.CPL") '--CPL files and their respective Control Panel windows: '--DESK.CPL - Display Properties '--INETCPL.CPL - Internet Properties '--MMSYS.CPL - Multimedia Properties '--MODEM.CPL - Modems Properties '--NETCPL.CPL - Network '--PASSWORD.CPL - Passwords '--POWERCFG.CPL - Power Management Properties '--APPWIZ.CPL - Add/Remove Programs '--MAIN.CPL - Main - defaults to mouse properties. '--SYSDM.CPL - System Properties '--TELEPHON.CPL - Telephony '--TIMEDATE.CPL - TimeDate '--STICPL.CPL - Scanners and Cameras '-- Set shl = Nothing End Sub Function fnShellFindFilesVB() 'opens find or search file window Dim objShell Set objShell = CreateObject("Shell.Application") objShell.FindFiles Set objShell = Nothing End Function Function fnShellOpenVB() Dim objShell Set objShell = CreateObject("Shell.Application") objShell.Open ("C:\") Set objShell = Nothing End Function Function fnShellExploreJ() 'opens windows explorer at a specific directory in this example c:\temp Dim objShell Set objShell = CreateObject("Shell.Application") objShell.Explore ("C:\temp") Set objShell = Nothing End Function Function fnShellExploreVB() 'opens win explorer at os Windows directory Dim objShell Dim ssfWINDOWS ssfWINDOWS = 36 Set objShell = CreateObject("Shell.Application") objShell.Explore (ssfWINDOWS) Set objShell = Nothing End Function Function fnFolderTitleVB() 'browse for folder then display folder title chosen Dim objShell Set objShell = CreateObject("Shell.Application") If (Not objShell Is Nothing) Then Dim objFolder Dim ssfPROGRAMS ssfPROGRAMS = 2 Set objFolder = objShell.NameSpace(ssfPROGRAMS) If (Not objFolder Is Nothing) Then MsgBox objFolder.Title End If Set objFolder = Nothing End If Set objShell = Nothing End Function Function fnFolderObjectItemsVB() 'count or display items in a folder Dim objShell Dim objFolder 'Dim objFolderItems Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace("C:\Temp2") If (Not objFolder Is Nothing) Then Dim objFolderItems Set objFolderItems = objFolder.Items 'you can list all items in folder here If (Not objFolderItems Is Nothing) Then MsgBox objFolderItems.Count End If Set objFolderItems = Nothing End If Set objFolder = Nothing Set objShell = Nothing End Function bkollodge at parkindustries.com wrote: >Do any VB6 programmers know how to use the shell to run a systems app >such as explorer? The "target" was copied from my desktop shortcut but >doesn't work - I must be missing some syntax??? > >Private Sub Command1_Click() > RetVal = Shell("%SystemRoot%\explorer.exe", vbMaximizedFocus) >End Sub > >Thanks, >Bill Kollodge >Electrical Engineering / CNC Products >Park Industries >St. Cloud, MN 56303 >bkollodge at parkindustries.com > >_______________________________________________ >dba-VB mailing list >dba-VB at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/dba-vb >http://www.databaseadvisors.com > > > > -- Marty Connelly Victoria, B.C. Canada