С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/33: Рейтинг темы: голосов - 33, средняя оценка - 4.94
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
1

Открыть диалог "обзор папок"

28.04.2011, 20:31. Показов 6797. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вопрос не совсем имеет отношение к cmd\bat, но все же спрошу здесь:
как через rundll32 открыть диалог "Обзор папок"?
Знаю как открыть практически все что угодно через данную утилиту, кроме этого
Неужели отсутствует такая функция в dll-ках?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2011, 20:31
Ответы с готовыми решениями:

Обзор папок
Всем доброго времени суток. Решил установить себе тему на свой Windows, но разочаровавшись...

Обзор папок
Напишите программу, которая в указанном пользователем каталоге и его подкаталогах выполняет поиск...

Кнопка обзор папок
У меня в окне текстовое поле и кнорка обзор. При нажатии мне нужно реализовать обзор всех папок и...

Обзор папок(в формах)
Нужно добавить в форму обзор папок, на примере. Как это организовать?

6
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28046 / 15779 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
28.04.2011, 20:40 2
список :
rundll32 AppWiz.Cpl, NewLinkHere %1 - запуск мастера создания нового ярлыка, где %1 - путь к исходному файлу.

rundll32 desk.cpl, InstallScreenSaver [filename.scr] - задать файл скринсейвера в диалоговом окне свойств дисплея.

rundll32 diskcopy, DiskCopyRunDll - вызов диалог "Копирование диска".

rundll32 IEdkcs32.dll, Clear - сброс некоторых настроек Internet Explorer, полезно использовать при некоторых сбоях в работе обозревателя.

rundll32 keyboard,disable - отключение клавиатуры, действует вплоть до следующей перезагрузки.

rundll32 krnl386.exe, exitkernel - выгрузить ядро системы, выход из Windows.

rundll32 mouse,disable - отключение мыши вплоть до перезагрузки.

rundll32 mshtml.dll, PrintHTML "HtmlFileNameAndPath" - распечатать документ HTML, где "HtmlFileNameAndPath" - путь к файлу и его имя.

rundll32 мсprint2.dll, RUNDLL_PrintTestPage - распечатать тестовую страницу на принтере.

rundll32 netplwiz.dll, AddNetPlaceRunDll - вызов мастера подключения нового сетевого ресурса "Add Network Place Wizard".

rundll32 netplwiz.dll, NetAccWizRunDll - запуск мастера сетевой идентификации "Network Identification Wizard".

rundll32 printui.dll, PrintUIEntry /y /n "[Printer Display Name]" - назначить принтер по умолчанию.

rundll32 rnaui.dll,RnaDial СОЕДИНЕНИЕ - вызвать диалог "Установка связи" (Connect To) для установки соединения, обозначенного в папке "Удаленный доступ" как "СОЕДИНЕНИЕ" (учет регистра букв в названии соединения обязателен).

rundll32 rnaui.dll, RnaWizard - вызов мастера создания нового соединения удаленного доступа.

rundll32 rnaui.dll, RnaWizard /1 - вызов мастера создания нового соединения удаленного доступа без отображения начального окна.

rundll32.exe rnaserv, CallerAccess - запустить сервер удаленного доступа.

rundll32 setupwbv.dll, IE5Maintenance "C:Program FilesInternet ExplorerSetupSETUP.EXE" /g "%SystemRoot%IE Uninstall Log.Txt" - запуск утилиты восстановления Internet Explorer, используется при сбоях браузера.

rundll32 shell, ShellExecute - открыть в Проводнике папку "Рабочий стол".

rundll32 shell32, Control_FillCache_RunDLL - запустить начальную инициализацию Панели управления.

rundll32 shell32, Control_RunDLL - открыть в Проводнике папку "Панель управления".

rundll32 shell32, Control_RunDLL appwiz.cpl,,n - вызов диалогового окна "Установка и удаление программ", в котором будет открыта вкладка с номером "n" (от 1 до 3). По аналогии при указании вместо appwiz.cpl или access.cpl другого CPL-файла будет открыт соответствующий диалог Панели управления и заданная страница диалога. Имеется несколько исключений, приведенных ниже.

rundll32 shell32, Control_RunDLL main.cpl @0 - открыть диалог "Свойства мыши".

rundll32 shell32, Control_RunDLL main.cpl @1 - открыть диалог "Свойства клавиатуры".

rundll32 shell32, Control_RunDLL main.cpl @2 - открыть папку "Принтеры".

rundll32 shell32, Control_RunDLL main.cpl @3 - открыть папку "Шрифты".

rundll32 shell32, Control_RunDLL main.cpl @4 - открыть диалог PC Cards (PCMCIA) Properties или "Свойства электропитания".

rundll32 SHELL32, Control_RunDLL modem.cpl,,add - установка нового модема.

rundll32 shell32, Control_RunDLL timedate. cpl,,/f - открыть вкладку Time Zone диалогового окна свойств времени Панели управления.

rundll32 shell32, OpenAs_RunDLL - вызвать диалог "Открыть с помощью...". При указании аргумента, соответствующего имени и расширению некоего файла - rundll32 shell32, OpenAs_RunDLL filename.ext (например, rundll32.exe shell32.dll,OpenAs_RunDLL README.TXT) - можно будет открыть конкретный файл и сопоставить данному расширению необходимое приложение.

rundll32 shell32, ShellAboutA - информация о версии Windows.

rundll32 shell32, SHExitWindowsE x 0 - закрыть все программы, перегрузить оболочку (завершение сеанса, Log Off).

rundll32 shell32, SHExitWindowsE x 1 - выключить ПК (Shutdown).

rundll32 SHELL32, SHExitWindowsEx -1 - перегрузить оболочку Windows.

rundll32 shell32, SHExitWindowsE x 2 - перегрузить ПК (Reboot).

rundll32 shell32,SHExitWindowsE x 4 - принудительно закрыть все программы (Force).

rundll32 shell32,SHExitWindowsE x 8 - выход из Windows и выключение ATX-совместимого ПК (Power off).

rundll32 shell32, SHFormatDrive - вызов диалога форматирования диска А:.

rundll32 SHELL32, SHHelpShortcuts_RunDLL AddPrinter - запуск мастера установки принтера "Add New Printer wizard".

rundll32 shell32, SHHelpShortcuts_RunDLL Connect - запуск мастера подключения сетевого диска "Map Network Drive wizard".

rundll32 SHELL32, SHHelpShortcuts_RunDLL FontsFolder - открыть папку "Шрифты".

rundll32 SHELL32, SHHelpShortcuts_RunDLL PrintersFolder - открыть папку "Принтеры".

rundll32 SHELL32, SHHelpShortcuts_RunDLL PrintTestPage - распечатать тестовую страницу.

rundll32 SYNCUI.DLL, Briefcase_Create - создать новую папку "Портфель", если эта функция установлена в системе.

rundll32 syncui.dll, Briefcase_Intro - вызов справки по работе с "Портфелем".

rundll32 sysdm.cpl, InstallDevice_Rundll - вызов мастера установки оборудования.

rundll32 SysDM.cpl, InstallDevice_RunDLL [DeviceID] - установить новое оборудование конкретного типа [DeviceID] - узнать типы оборудования можно в ветви реестра HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClass.

rundll32 tcpmonui.dll, LocalAddPortUI - запуск мастера установки TCP-порта принтера.

rundll32 url.dll, FileProtocolHandler %1 - открыть веб-сайт, где %1 - URL сайта (включая http://).

rundll32 url.dll, MailToProtocolHandler %1 - создать новое электронное письмо, где %1 - e-mail адресата.

rundll32 url.dll, NewsProtocolHandler %1 - произвести подключение к новостному серверу, где %1 - URL сервера.

rundll32 url.dll, TelnetProtocolHandler %1 - осуществить подключение telnet, где %1 - адрес сервера.

rundll32 user, CASCADECHILDWINDOWS - расположить все окна каскадом.

RUNDLL32 user,MessageBeep - воспроизвести звук по умолчанию.

rundll32 user,disableoemlayer - отключить OEM Layer, то есть выключить все функции ввода-вывода (клавиатура, дисплей, мышь). Результатом этой команды будет черный экран с курсором и ни на что не реагирующая система, однако Windows продолжает работать.

rundll32 user,enableoemlayer - включить и загрузить OEM Layer, если есть возможность выполнить эту команду дистанционно.

rundll32 user,ExitWindows - еще один способ выключить компьютер из командной строки (появится окно "It is now safe to shut down your computer").

rundll32 user, ExitWindowsExec - быстрая перезагрузка Windows.

rundll32 user, RepaintScreen - выполнить команду "Обновить".

rundll32 user, SetCaretBlinkTime n - задать частоту мигания курсора, соответствующую значению параметра n.

rundll32 user,SetCursorPos - переместить курсор мыши в верхний левый угол экрана.

rundll32 user, SetDoubleClickTime n - задать скорость двойного нажатия левой кнопки мыши (Double Click), соответствующую параметру n.

rundll32 user, SwapMouseButton - поменять местами клавиши мыши (обратная смена невозможна).

rundll32 user,TILECHILDWINDOWS - расположить все открытые окна по вертикали.

rundll32 user, WNetConnectDialog - вызов диалога "Подключение сетевого диска".

rundll32 user,WNetDisconnectDialog - вызов диалога "Отключение сетевого диска".

Учтите, что почти все команды должны вводиться с учетом регистра. Некоторые параметры не срабатывают в Windows 95 и в "Миллениуме", либо результат их выполнения в разных системах немного отличается. Таких команд довольно много, абсолютно все мне, к сожалению, не известны. Наиболее полный список можно, пожалуй, найти на сайте https://www.dx21.com/scripting... ewitem.asp. О реальной же их пользе для повседневной работы и использования во всевозможных скриптах судите сами - вот список самых значимых команд:

rundll32 AppWiz.Cpl, NewLinkHere %1 - запуск мастера создания нового ярлыка, где %1 - путь к исходному файлу.

rundll32 desk.cpl, InstallScreenSaver [filename.scr] - задать файл скринсейвера в диалоговом окне свойств дисплея.

rundll32 diskcopy, DiskCopyRunDll - вызов диалог "Копирование диска".

rundll32 IEdkcs32.dll, Clear - сброс некоторых настроек Internet Explorer, полезно использовать при некоторых сбоях в работе обозревателя.

rundll32 keyboard,disable - отключение клавиатуры, действует вплоть до следующей перезагрузки.

rundll32 krnl386.exe, exitkernel - выгрузить ядро системы, выход из Windows.

rundll32 mouse,disable - отключение мыши вплоть до перезагрузки.

rundll32 mshtml.dll, PrintHTML "HtmlFileNameAndPath" - распечатать документ HTML, где "HtmlFileNameAndPath" - путь к файлу и его имя.

rundll32 мсprint2.dll, RUNDLL_PrintTestPage - распечатать тестовую страницу на принтере.

rundll32 netplwiz.dll, AddNetPlaceRunDll - вызов мастера подключения нового сетевого ресурса "Add Network Place Wizard".

rundll32 netplwiz.dll, NetAccWizRunDll - запуск мастера сетевой идентификации "Network Identification Wizard".

rundll32 printui.dll, PrintUIEntry /y /n "[Printer Display Name]" - назначить принтер по умолчанию.

rundll32 rnaui.dll,RnaDial СОЕДИНЕНИЕ - вызвать диалог "Установка связи" (Connect To) для установки соединения, обозначенного в папке "Удаленный доступ" как "СОЕДИНЕНИЕ" (учет регистра букв в названии соединения обязателен).

rundll32 rnaui.dll, RnaWizard - вызов мастера создания нового соединения удаленного доступа.

rundll32 rnaui.dll, RnaWizard /1 - вызов мастера создания нового соединения удаленного доступа без отображения начального окна.

rundll32.exe rnaserv, CallerAccess - запустить сервер удаленного доступа.

rundll32 setupwbv.dll, IE5Maintenance "C:Program FilesInternet ExplorerSetupSETUP.EXE" /g "%SystemRoot%IE Uninstall Log.Txt" - запуск утилиты восстановления Internet Explorer, используется при сбоях браузера.

rundll32 shell, ShellExecute - открыть в Проводнике папку "Рабочий стол".

rundll32 shell32, Control_FillCache_RunDLL - запустить начальную инициализацию Панели управления.

rundll32 shell32, Control_RunDLL - открыть в Проводнике папку "Панель управления".

rundll32 shell32, Control_RunDLL appwiz.cpl,,n - вызов диалогового окна "Установка и удаление программ", в котором будет открыта вкладка с номером "n" (от 1 до 3). По аналогии при указании вместо appwiz.cpl или access.cpl другого CPL-файла будет открыт соответствующий диалог Панели управления и заданная страница диалога. Имеется несколько исключений, приведенных ниже.

rundll32 shell32, Control_RunDLL main.cpl @0 - открыть диалог "Свойства мыши".

rundll32 shell32, Control_RunDLL main.cpl @1 - открыть диалог "Свойства клавиатуры".

rundll32 shell32, Control_RunDLL main.cpl @2 - открыть папку "Принтеры".

rundll32 shell32, Control_RunDLL main.cpl @3 - открыть папку "Шрифты".

rundll32 shell32, Control_RunDLL main.cpl @4 - открыть диалог PC Cards (PCMCIA) Properties или "Свойства электропитания".

rundll32 SHELL32, Control_RunDLL modem.cpl,,add - установка нового модема.

rundll32 shell32, Control_RunDLL timedate. cpl,,/f - открыть вкладку Time Zone диалогового окна свойств времени Панели управления.

rundll32 shell32, OpenAs_RunDLL - вызвать диалог "Открыть с помощью...". При указании аргумента, соответствующего имени и расширению некоего файла - rundll32 shell32, OpenAs_RunDLL filename.ext (например, rundll32.exe shell32.dll,OpenAs_RunDLL README.TXT) - можно будет открыть конкретный файл и сопоставить данному расширению необходимое приложение.

rundll32 shell32, ShellAboutA - информация о версии Windows.

rundll32 shell32, SHExitWindowsE x 0 - закрыть все программы, перегрузить оболочку (завершение сеанса, Log Off).

rundll32 shell32, SHExitWindowsE x 1 - выключить ПК (Shutdown).

rundll32 SHELL32, SHExitWindowsEx -1 - перегрузить оболочку Windows.

rundll32 shell32, SHExitWindowsE x 2 - перегрузить ПК (Reboot).

rundll32 shell32,SHExitWindowsE x 4 - принудительно закрыть все программы (Force).

rundll32 shell32,SHExitWindowsE x 8 - выход из Windows и выключение ATX-совместимого ПК (Power off).

rundll32 shell32, SHFormatDrive - вызов диалога форматирования диска А:.

rundll32 SHELL32, SHHelpShortcuts_RunDLL AddPrinter - запуск мастера установки принтера "Add New Printer wizard".

rundll32 shell32, SHHelpShortcuts_RunDLL Connect - запуск мастера подключения сетевого диска "Map Network Drive wizard".

rundll32 SHELL32, SHHelpShortcuts_RunDLL FontsFolder - открыть папку "Шрифты".

rundll32 SHELL32, SHHelpShortcuts_RunDLL PrintersFolder - открыть папку "Принтеры".

rundll32 SHELL32, SHHelpShortcuts_RunDLL PrintTestPage - распечатать тестовую страницу.

rundll32 SYNCUI.DLL, Briefcase_Create - создать новую папку "Портфель", если эта функция установлена в системе.

rundll32 syncui.dll, Briefcase_Intro - вызов справки по работе с "Портфелем".

rundll32 sysdm.cpl, InstallDevice_Rundll - вызов мастера установки оборудования.

rundll32 SysDM.cpl, InstallDevice_RunDLL [DeviceID] - установить новое оборудование конкретного типа [DeviceID] - узнать типы оборудования можно в ветви реестра HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClass.

rundll32 tcpmonui.dll, LocalAddPortUI - запуск мастера установки TCP-порта принтера.

rundll32 url.dll, FileProtocolHandler %1 - открыть веб-сайт, где %1 - URL сайта (включая http://).

rundll32 url.dll, MailToProtocolHandler %1 - создать новое электронное письмо, где %1 - e-mail адресата.

rundll32 url.dll, NewsProtocolHandler %1 - произвести подключение к новостному серверу, где %1 - URL сервера.

rundll32 url.dll, TelnetProtocolHandler %1 - осуществить подключение telnet, где %1 - адрес сервера.

rundll32 user, CASCADECHILDWINDOWS - расположить все окна каскадом.

RUNDLL32 user,MessageBeep - воспроизвести звук по умолчанию.

rundll32 user,disableoemlayer - отключить OEM Layer, то есть выключить все функции ввода-вывода (клавиатура, дисплей, мышь). Результатом этой команды будет черный экран с курсором и ни на что не реагирующая система, однако Windows продолжает работать.

rundll32 user,enableoemlayer - включить и загрузить OEM Layer, если есть возможность выполнить эту команду дистанционно.

rundll32 user,ExitWindows - еще один способ выключить компьютер из командной строки (появится окно "It is now safe to shut down your computer").

rundll32 user, ExitWindowsExec - быстрая перезагрузка Windows.

rundll32 user, RepaintScreen - выполнить команду "Обновить".

rundll32 user, SetCaretBlinkTime n - задать частоту мигания курсора, соответствующую значению параметра n.

rundll32 user,SetCursorPos - переместить курсор мыши в верхний левый угол экрана.

rundll32 user, SetDoubleClickTime n - задать скорость двойного нажатия левой кнопки мыши (Double Click), соответствующую параметру n.

rundll32 user, SwapMouseButton - поменять местами клавиши мыши (обратная смена невозможна).

rundll32 user,TILECHILDWINDOWS - расположить все открытые окна по вертикали.

rundll32 user, WNetConnectDialog - вызов диалога "Подключение сетевого диска".

rundll32 user,WNetDisconnectDialog - вызов диалога "Отключение сетевого диска".
это если не все, то очень многое
1
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
28.04.2011, 21:43  [ТС] 3
magirus
Дык у меня все это есть - даже побольше будет. И почти все уже проверял на работоспособность.
Что интересно функции обозначенные только для Vista ( типа
RunDll32.exe keymgr.dll,KRShowKeyMgr - окно Сохранение имен пользователей и паролей и
RunDll32.exe keymgr.dll,PRShowSaveWizardExW - запуск Мастера забытых паролей
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 - Удаление временных файлов интернета(тут еще куча вариантов аргументов) и некоторые другие) - работают даже в XP HE.

Но вот нигде почему то нет функции для открытия диалога "Обзора папок".
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28046 / 15779 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
28.04.2011, 21:46 4
ну значит его нет...
0
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
30.04.2011, 13:49  [ТС] 5
И все таки есть И даже целых две штуки.
Код
rundll32.exe IEAKENG.dll, BrowseForFolder -  вызов диалога "Обзор папок" 
возможен еще вариант с командой BrowseForFolderA - но у меня работает только первый.
rundll32.exe IUENGINE.dll, EngBrowseForFolder  -  тоже работает, но с ошибкой после завершения
1
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
30.04.2011, 19:11 6
Я так понимаю показывается только окошко, а заставить чтоб еще оно возвращало путь выбранной папки не получится. То есть толку от этого никакого.
0
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
30.04.2011, 20:24  [ТС] 7
atributz
Увы, действительно никакого. Тем боле что я поспешил радоваться - хотя сам диалог они вызывают, однако при попытке перехода в нужную папку выдают ошибку.
Поэтому практичнее использовать JScript MS (или VBScript):
Javascript
1
2
3
var App = WScript.CreateObject("Shell.Application");
var f = App.BrowseForFolder(0, "", 16, "D:\\folder"); // выбор корневой папки или диска
WScript.Echo(f); // тут и возврат выбранной папки есть.
1
30.04.2011, 20:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2011, 20:24
Помогаю со студенческими работами здесь

Не работает обзор папок в установщиках
Здравствуйте. Поставил windows 7, настроил, затем обнаружил следующую картину. В установщиках не...

Обзор папок, вспомнить прежную открытую папку
Сейчас делаю отдельный компонент который бы при нажатии кнопки показывал папки в отдельном окне ...

Как можно создать древесный обзор папок в своём окне?
Как можно создать древесный обзор папок в своём окне, на подобию того из Windows Explorer или...

Диалог выбора множества папок
Добрый день коллеги. Юзаю C++Builder 6.0. Пишу прогу где использую стандартный диалог выбора...

Диалог выбора файлов и папок...
Есть стандартные компоненты OpenFileDialog, так же есть OpenFolderDialog. А мне нужно что бы был...

JavaFx - диалог мультивыбора файлов/папок
В общем известна тема, что fx не поддерживает диалог рекурсивного выбора файлопапок (что бы файлы...

Диалог открытия файлов и папок одновременно
Диалог открытия файлов: dialog = new QFileDialog(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru