Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open(&H4) 'Будет открыто окно папки "Принтеры"
objShellApp.Open("c:\temp") 'Будет открыто окно папки "Temp"
Открывать окна
К примеру окно "мой компьютер" :)
[FONT="Courier New"]Call Shell("explorer.exe ", vbNormalFocus)[/FONT]
После [FONT="Courier New"]explorer.exe[/FONT] идет два пробела, а не один.
К примеру окно "мой компьютер"[/QUOTE]
Вот один из вариантов:
Код:
Если интересуют идентификаторы специальных папок, то их список можно найт в MSDN по ключу ShellSpecialFolderConstants
Если интересуют идентификаторы специальных папок, то их список можно найт в MSDN по ключу ShellSpecialFolderConstants[/QUOTE]
можно найти. :D
В режиме on-line в MSDN можно заглянуть только на сайте компании Microsoft.
Вот ссылка на список упомянутых констант:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/shellspecialfolderconstants.asp
Вот ссылка на список упомянутых констант:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/shellspecialfolderconstants.asp[/QUOTE]
Спасибо :D
Как можно открыть окна Cd-roma и Diska A? :confused:
Можно использовать тот же метод [color=blue]Open[/color] для корневого каталога соответствующего диска. Однако перед этим каким-либо способом стоит выполнить проверку готовности диска к работе.
Если проверку готовности не выполнять, то система попросит вставить диск в соответствующий дисковод (что, впрочем, иногда полезно).
Теперь о проверке готовности: не знаю, как в "чистом" VB, а в VBS есть свойство [color=blue]IsReady[/color]. Вот пример:
Код:
driveName = "A:"
Set fsObj = CreateObject("Scripting.FileSystemObject")
Set curDrive = fsObj.GetDrive(driveName )
If curDrive.IsReady = True Then
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open(driveName & "\")
Else
WScript.Echo "Диск [" & driveName & "] к работе не готов."
End If
Set fsObj = CreateObject("Scripting.FileSystemObject")
Set curDrive = fsObj.GetDrive(driveName )
If curDrive.IsReady = True Then
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open(driveName & "\")
Else
WScript.Echo "Диск [" & driveName & "] к работе не готов."
End If
Ну или не очень;) .Нужно узнать код папки(что-то типа {куча 16ричных цифр}).Как узнать?Подключаешь в References "Windows Shell Controls And Automation" и с помощью какого-то метода(вроде BrowseForFolder) вызываешь окно выбора папки,а свойство возврещает тебе Id.Или есть там константы,используемые,по-моему,GetSpecialFolderLocation
Как можно открыть окно( вернее программу) " MS Outlook" ?
Код:
Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
End Sub
Shell ("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
End Sub
Код:
Set scrShell = CreateObject("WScript.Shell")
Set scrExec = scrShell.Exec("D:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
Set scrExec = scrShell.Exec("D:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
Код:
Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
End Sub
Shell ("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
End Sub
или
[QUOTE=Dmitrii]Можно и так:
Код:
Set scrShell = CreateObject("WScript.Shell")
Set scrExec = scrShell.Exec("D:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
Set scrExec = scrShell.Exec("D:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
Разнечи та нету:D не какой
Код:
Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
End Sub
Shell ("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
End Sub
или
[QUOTE=Dmitrii]Можно и так:
Код:
Set scrShell = CreateObject("WScript.Shell")
Set scrExec = scrShell.Exec("D:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
Set scrExec = scrShell.Exec("D:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE")
Разнице та нету, не какой :D
Нет,скорей всего C:\Program Files\...\OutPook.exe тоже будет не очень правильно.Надо узнать,где в реестре хранится путь к нему(или к папке Офиса) и узнать версию Офиса,а потом уже и вызывать OutPook
А как открыть окно корзины программно?:confused:
Попробуй или ShellExecute с параметром "C:\Recycler" или где у тебя Корзина,или подключи Shell32 и в ней найдёшь что-то типа GetSpecialFolderLocation,и константы там к ней будут(по-моему,с префиксом CSILD)