Данную ветвь можно использовать и в корневом разделе HKEY_LOCAL_MACHINE.
ПРИМЕЧАНИЕ
Существует один интересный CLSID-номер ActiveX-объекта, описания которого вы не встретите в ветви реестра HKEY_CLASSES_ROOT\CLSID. Это CLSID-номер {00000000-0000-0000-0000-000000000000}. Если запретить отображение данного CLSID-номера на Рабочем столе с помощью вышеописанной ветви реестра, то после перезагрузки оболочки на Рабочем столе останутся только значки Корзина и Мой компьютер — остальные ActiveX-объекты, папки и файлы Рабочего стола будут скрыты.
■ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace — определяет список CLSID-номеров ActiveX-объектов, которые будут отображаться в папке Мой компьютер. Формат данной ветви полностью аналогичен формату описанной выше ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace. Если использовать такую ветвь реестра, расположенную в корневом разделе HKEY_LOCAL_MACHINE, то определяемый ею значок будет отображен для всех пользователей системы.
ПРИМЕЧАНИЕ
Но между приведенными ветвями реестра для различных корневых разделов существует небольшое отличие — ветвь реестра из корневого раздела HKEY_LOCAL_MACHINE также может хранить раздел DelegateFolders, содержимым которого является подраздел {59031a47-3f7244a7-89c5-5595fe6b30ee}. Этот подраздел определяет общие папки, отображаемые в папке Мой компьютер, и если удалить или просто переименовать раздел DelegateFolders, то общие папки в папке Мой компьютер отображаться не будут.
Например, можно попробовать самостоятельно добавить в папку Мой компьютер значок ActiveX-объекта. На этот раз нужно создать свой собственный ActiveX-объект.
Как уже говорилось ранее, для создания уникального CLSID-номера ActiveX-объекта применяется программа guidgen.exe, входящая в стандартную поставку таких компиляторов, как Microsoft Visual Studio .NET, а также Microsoft Visual C++. После запуска данной программы перед вами появится диалог, в котором требуется определить, какой именно уникальный идентификатор нужно создать. Чтобы создать CLSID-номер, необходимо установить переключатель 4. Registry Format. После выбора типа уникального идентификатора нужно выбрать сам созданный идентификатор — нажимайте кнопку Next GUID до тех пор, пока программа не создаст идентификатор, который вам понравится. После этого достаточно нажать кнопку Сору, чтобы поместить этот идентификатор в буфер обмена.
Все, уникальный CLSID-номер у вас уже есть. Например, таким номером является {23D0F57C-5E2C-4fb2-BE50-B27DBD7EFB76}, созданный с помощью программы guidgen.exe. После создания CLSID-номера нужно зарегистрировать его в системе. Для этого используется ветвь системного реестра HKEY_CLASSES_ROOT\CLSID, формат содержимого которой был описан в предыдущей главе. Создайте в этой ветви дочерний раздел, названный в честь CLSID-номера, созданного программой guidgen. Теперь необходимо назвать значок ActiveX-объекта — для этого используется параметр (По умолчанию) созданного раздела. После этого нужно зарегистрировать для созданного ActiveX-объекта значок, с этой целью применяется параметр DefaultIcon дочернего раздела ветви созданного CLSID-номера. После создания значка нужно скрыть все стандартные команды его контекстного меню — для этого присвойте DWORD-параметру Attributes значение 0. Он должен находиться в разделе ShellFolder ветви созданного CLSID-номера. И наконец, можно создавать содержимое пользовательского контекстного меню — для этого используется раздел shell ветви CLSID-номера. Создайте в нем необходимые глаголы, а в них — подраздел command, параметр (По умолчанию) которого и будет определять команду, вызываемую при выборе из контекстного меню вашего значка соответствующего действия.
Теперь у вас есть не только уникальный CLSID-номер, но и свой собственный ActiveX-объект. Осталось только создать подраздел {23D0F57C-5E2C-4fb2-BE50-B27DBD7EFB76} в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace и смотреть на то, что получилось (рис. 5.4).
Рис. 5.4. Создание своего ActiveX-объекта и расположение его в папке Мой компьютер
■ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Explorer\HideMyComputerIcons — скрывает значки из папки Мой компьютер. Ее формат аналогичен формату уже описанной ветви системного реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Explorer\HideDesktopIcons, поэтому рассматривать ее мы не будем. Эту ветвь можно использовать и в корневом разделе HKEY_LOCAL_MACHINE.
Например, чтобы скрыть только что созданный значок ActiveX-объекта из паки Мой компьютер, необходимо создать DWORD-параметр {23D0F57C-5E2C-4fb2-BE50-B27DBD7EFB76} и присвоить ему значение, равное 1. Создавать его нужно в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideMyComputerIcons.
Читать дальше