![]() |
Создание объектов в "Мой компьютер"
Подскажите пожалуйста, как можно в папке "Мой компьютер" создать ссылку на собственный объект?
Ничего необчного не нужно, нужна просто ссылка на одну папку. И чтобы она таким образом была видна в древовидном меню "Проводника" наряду с логическими дисками и "Панелью управления". Извиняюсь заранее, если подобные вопросы задаются каждый день, но поиском я ничего не нашел :( |
Было где-то, но с разбегу и сам не нашел :)
Пробуем делать так: 1) создайте идентификатор своей папки в ветках HKEY_CLASSES_ROOT\CLSID и HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\CLSID такого же вида как там уже существуют, например {912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A} - здесь дайте волю фантазии, значение произвольное, а можете и этот взять. 2) В созданном подразделе создавайте строковый (REG_SZ) параметр по умолчанию со значением равным имени папки которое хотите чтоб отображалось: HKEY_CLASSES_ROOT\CLSID\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A} Параметр: (По умолчанию) Значение: Своя папка 3) Создайте в новом разделе подраздел DefaultIcon, а в нем строковый параметр со значением равным пути к *.ico файлу - файлу иконки папки: HKEY_CLASSES_ROOT\CLSID\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A}\DefaultIcon Параметр: (По умолчанию) Значение: c:\myicon.ico (например) 4) Затем еще подраздел InProcServer32 и в нем два также строковых параметра - по умолчанию и ThreadingModel, значение первого shell32.dll, значение второго Apartment: HKEY_CLASSES_ROOT\CLSID\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A}\InProcServer32 Параметр: (По умолчанию) Значение: shell32.dll Параметр: ThreadingModel Значение: Apartment 5) Создайте подраздел Shell, в нем подраздел Open, а в этом Command, значение параметра по умолчанию = команда открытия вашей папки: HKEY_CLASSES_ROOT\CLSID\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A}\Shell\Open\Command Параметр: (По умолчанию) Значение: C:\Windows\explorer /n / root, C:\MyFolder где C:\MyFolder - путь к вашей папке 6) После этого еще подраздел ShellEx, в нем PropertySheetHandler, а в нем свой идентификатор, то есть {912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A} здесь параметры вроде как не нужны: HKEY_CLASSES_ROOT\CLSID\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A}\ShellEx\PropertySheetHandler\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A} 7) Еще один подраздел: ShellFolder, а в нем двоичный параметр (REG_BINARY) Attributes: HKEY_CLASSES_ROOT\CLSID\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A}\ShellFolder Параметр: Attributes Значение: hex:00,00,00,00 8) Теперь разместим папку в Моем компьютере и если надо на рабочем столе: В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\ создайте подраздел со своим идентификатором {912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A} - это для отображения на рабочем столе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{912251E4-9C9C-44D9-8BDE-F66BAD1E3F3A} - для отображения в Моем компьютере Вроде все, должно работать |
Огромное спасибо! В общих чертах понятно.
Получилось, но не совсем то, что мне хотелось... Нужно, чтобы папка открывалась в текущем окне, а не новом (как при клике на локальных дисках), а также, чтобы эта папка была видна в левой древовидной панели, которая появляется после нажатия кнопки "Папки" и была раскрываемая (ну т.е. опять же как любой локальный диск). Чтобы в этом списке папка появилась, я добился, изменив Attributes в ShellFolder на hex:00,00,04,f0 (подсмотрел у других папок), но проблема в том, что эта папка там только присутствует, но ее нельзя выбрать или "развернуть" в виде дерева... Помогите пожалуйста и с этим, если возможно! :) Или хотя бы накормите полезными линками, чтобы умнее стал (а то навскидку Гугл много воды навыдавал, среди которой не смог отыскать то, что мне нужно)... Спасибо заранее :) |
defrag
Боюсь, что больше ничем не смогу вас порадовать, по крайней мере мне не удалось добиться то чего вы хотите экспериментами... |
Blast, спасибо и на этом!
|
Время: 01:32. |
Время: 01:32.
© OSzone.net 2001-