Please wait!
Please wait!

ALEXEYWORLD.COM

alexeyworld.com

Что такое CLSID или как программно открыть системную папку

что такое CLSID

Часто вижу вопрос о том, как сделать ярлык на какую-либо системную папку, или просто программно открыть. В ответ, если это не специализированый форум, идут почти всегда несерьезные ответы. Как же такое сделать?

Для этого нам необходимо знать CLSID. Ну вот, еще что-то непонятное. Что же это?

CLSID — аббревиатура для идентификатора класса, точно так же как GUID — аббревиатура для глобального уникального идентификатора. Обе аббревиатуры являются 128-битными (16 байт) целыми числами с малой вероятностью совпадения, поэтому они могут быть использованы в компьютерах и сетях в качестве уникальных идентификаторов. Обычно идентификатор представляется либо 16-элементным байтовым массивом либо специально отформатированной строкой шестнадцатеричных цифр (где символы a—f или A—F представляют десятичные цифры 10—15. Это строковое представление состоит либо из 32 последовательных шестнадцатеричных цифр, либо из групп, состоящих из 8, 4, 4, 4 и 12 шестнадцатеричных цифр, разделенных дефисами. Строковое представление с дефисами при необходимости может быть заключено в фигурные или круглые скобки ({}).

Итак, знание CLSID системной папки позволяет сделать весьма многое.

Добавить ее в произвольное место на компьютере (на Рабочий стол, меню "Пуск", просто в любой каталог). Для этого нужно создать каталог с любым именем, а в качестве расширения указать CLSID желаемой системной папки. Например, если на рабочем столе нужно создать каталог "Производительность компьютера", то каталог будет называться "Производительность компьютера.{78F3955E-3B90-4184-BD14-5397C15F1EFC}".

создание папки при помощи CLSIDКроме того, на некоторые директории мы можем создать ярлык или открыть эту директорию из своего приложения. Главный вопрос здесь: как задать путь?

Как известно (или еще не известно?) стандартным обозревателем в Windows является explorer.exe. Вот отсюда и двигаемся дальше. Теперь необходимо в акчестве параметра передать ему CLSID, и откроется нужная директория. Вот пример.

C:\Windows\explorer.exe "::{21EC2020-3AEA-1069-A2DD-08002B30309D}"

Данный путь откроет нам все эелементы панели управления. Главное обратите внимание на то, что перед фигурными скобками имеется два двоеточия "::".

Чтобы запустить это на C#, необходимы такие строки:

using System.Diagnostics;

ну и непосредственно в коде сам запуск:

Process.Start("::{645FF040-5081-101B-9F08-00AA002F954E}"); //откроет корзину

Таблица CLSID.

Директория CLSID
Мой компьютер {20D04FE0-3AEA-1069-A2D8-08002B30309D} 
Мои документы {450D8FBA-AD25-11D0-98A8-0800361B1103}
Корзина {645FF040-5081-101B-9F08-00AA002F954E}
Панель управления {21EC2020-3AEA-1069-A2DD-08002B30309D}
Сетевое окружение {208D2C60-3AEA-1069-A2D7-08002B30309D}
Удаленный доступ к сети {992CFFA0-F557-101A-88EC-00DD010CCC48}
Журнал {FF393560-C2A7-11CF-BFF4-444553540000}
Шрифты {BD84B380-8CA2-1069-AB1D-08000948F534}
Счетчики и средства производительности (Performance Information and Tools) {78F3955E-3B90-4184-BD14-5397C15F1EFC}
Настройка датчиков расположения GPS {E9950154-C418-419e-A90A-20C5287AE24B}
Ручная установка расположения по умолчанию (Default Location) {00C6D95F-329C-409a-81D7-C46C66EA7F33}
Используемые в системе библиотеки DLL {1D2680C9-0E2A-469d-B787-065558BC7D43}
Выбор типа управления электропитанием компьютера (Power Options) {025A5937-A6BE-4686-A844-36FE4BEC8B6D}
Настройка биометрических устройств, подключенных к компьютеру {0142e4d0-fb7a-11dc-ba4a-000ffe7ab428}
Инструменты раздела "Администрирование" (Administrative Tools) панели управления {D20EA4E1-3957-11d2-A40B-0C5020524153}
Экран раздела панели управления (Display) {C555438B-3C23-4769-A71F-B6D3D9B6053A}
Устройство и принтеры (Devices And Printers) {A8A91A66-3A7D-4424-8D24-04E180695C7A}
Настройка шрифтов (Font Settings) {93412589-74D4-4E4E-AD0E-E0CB621440FD}
Настройка домашней группы (Change homegroup settings) {67CA7650-96E6-4FDD-BB43-A8E774F73A57}
Настройка отображения значков приложений на панели задач {05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}
Настройка интегрированного в систему брандмауэра (Windows Firewall) {4026492F-2F69-46B8-B9BF-5654FC07E423}
Страница удаления/изменения установленных в системе приложений {7b81be6a-ce2b-4676-a29e-eb907a5126c5}
Страница с информацией о принтерах {2227A280-3AEA-1069-A2DE-08002B30309D}
Центр синхронизации информации {9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}
Настройка беспроводных сетей (Manage Wireless Networks) {1FA9085F-25A2-489B-85D4-86326EEDCD87}
Центр поддержки (Action Center) {BB64F8A7-BEE7-4E1A-AB8D-7D8273F7FDB6}
Восстановление состояния компьютера до ранее сохраненной контрольной точки {9FE63AFD-59CF-4419-9775-ABCC3849F861}
Персонализация (Personalization) системы (изменение темы, оформления рабочего стола) {ED834ED6-4B5A-4bfe-8F11-A626DCB6A921}
Устранение неполадок компьютера (Troubleshooting) {C58C4893-3BE0-4B45-ABB5-A63E4B8C8651}
Приложения, используемые Windows по умолчанию (Default Programs) {17cd9488-1228-4b2f-88ce-4298e93e0966}
Настройка распознавания речи (Speech Recognition) {58E3C745-D971-4081-9034-86E34B30836A}
Управление подключениями к удаленным рабочим столам и приложение RemoteApp {241D7C96-F8BF-4F85-B01F-E2B043341A4B}
Менеджер учетных данных для автоматического входа (Credential Manager) {1206F5F1-0569-412C-8FEC-3204630DFB70}
Параметры обновления Windows (Windows Update) {36eef7db-88ad-4e81-ad49-0e313f0c35f8}
   
Установка программного обеспечения из сети (Install a program on the network) {15eae92e-f17a-4431-9f28-805e482dafd4}
Настройка автоматического запуска файлов с носителей или устройств {9C60DE1E-E5FC-40f4-A487-460851A8D915}
Модуль «Родительский контроль» (Parental Controls) {96AE8D84-A250-4520-95A5-A47A7E3C548B}
Архивация и восстановление элемента панели управления (Backup and Restore) {B98A2BEA-7D42-4558-8BD1-832F41BAC6FD}
Настройка упрощенной работы с компьютером (Ease of Access Center), в числе которых экранная лупа, экранная клавиатура, экранный диктор и пр. {D555645E-D4F8-4c29-A827-D93C859C4F2A}
Раздел "Система" панели управления, где выводятся основные сведения о компьютере {BB06C0E4-D293-4f75-8A90-CB05B6477EEE}
Просмотр основных сведений о сети и настройки подключений (Network and Sharing Center) {8E908FC9-BECC-40f6-915B-F4CA0E70D03D}
Параметры сетевого адаптера {7007ACC7-3202-11D1-AAD2-00805FC1270E}
Настройка уведомлений и отображения значков в области системного трея {05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}
Учетные записи пользователей {60632754-c523-4b62-b45c-4172da012619}
Параметры гаджетов {E95A4861-D57A-4be1-AD0F-35267E261739}
Настройка шифрования с помощью функции BitLocker (работает только на тех редакциях Windows, в которые включен BitLocker) {D9EF8727-CAC2-4e60-809E-86F80A666C91}

Примечание. Не все директории можно открыть при помощи передачи параметра explorer.exe. В таблице приведен лишь перечень CLSID для различных системных директорий.

опубликовано: 10.09.2011, 14:32 | просмотров: 48422 |