![]() |
Непонятки с контекстным меню "Мой компьютер"
Винду ставил с самопального дистрибутива. Правил дистрибутив с помощью nlite. Там есть возможность добавить в контекстное меню "Мой компьютер" дополнительные пункты. Добавил диспетчер устройств и просмотр служб. После установки ни тот ни другой пункты не срабатывали: На диспетчер устройств получал ответ:" MMC не может открыть файл %systemroot%\SYSTEM32\devmgmt.msc
Возможно файл отсутствует или не является консолью ММС. Возможно нет прав доступа .... и т.д." А на запуск просмотра служб получал сообщение: "Нет прав". В Тотал командере запускалось и то и другое. Нашел в реестре команды запуска этих пунктов контекстного меню и изменил так же, как сделано в Тотал командере. Запуск диспетчера устройств такой: mmc.exe %windir%\SYSTEM32\devmgmt.msc А запуск просмотровщика служб такой: mmc.exe %windir%\SYSTEM32\services.msc (собственно запуск диспетчера устройств менять не пришлось - именно такая команда там и была). Результат: Просмотровщик служб запускается без проблем. Диспетчер устройств не запускается, выдавая приведенное выше сообщение! Но почему?! Ведь команды то практически идентичные! Да и в командной строке приведенная команда запуска диспетчера устройств срабатывает без проблем! Почему же она не работает из контекстного меню? Кто знает, объясните пожалуйста! |
andrystepa, тип параметра должен быть REG_EXPAND_SZ (или указывать полный путь C:\WINDOWS\system32\devmgmt.msc).
Такой твик работает: Код:
REGEDIT4 |
Но на моем домашнем компьютере тип параметра - REG_SZ, а строка параметра:
mmc.exe %%systemroot%%\SYSTEM32\devmgmt.msc то есть практически то же самое, и никаких проблем - диспетчер устройств запускается. В чем отличие то? |
Цитата:
|
Цитата:
Полез в реестр. Изменил параметр REG_EXPAND_SZ в shell\LDevMgmt на mmc.exe %%systemroot%%\\SYSTEM32\\devmgmt.msc и все стало нормально работать. После этого я экспортировал эту ветку реестра и вот что получилось: Код:
Windows Registry Editor Version 5.00 |
Цитата:
Сделано по аналогии с уже существующим стандартным разделом HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage |
Тем не менее факт. Я просто скопировал вышеприведенный код и сделал из него файл .reg. Результат я уже описал. Потом просто в редакторе реестра изменил параметр REG_EXPAND_SZ (к слову сказать, изменял я его как строку, а не как двоичный. А как строка он в редакторе реестра выглядел в виде строки квадратиков!! - может в этом дело?) на такую:
mmc.exe %%systemroot%%\\SYSTEM32\\devmgmt.msc После этого ссылка нормально заработала. В том же редакторе реестра я экспортировал ветку LDevMgmt и привел ее - как видно, различие налицо! |
Цитата:
|
Цитата:
Вы неправильно сохранили reg-файл. Во втором посту первая строчка REGEDIT4. Возможно, вы подумали: "Что это за непонятный REGEDIT4, заменю-ка я его на Windows Registry Editor Version 5.00". И в результате получили крякозябры. Есть два формата (версии) reg-файлов, прочитайте статью: Как создавать, изменять или удалять подразделы и значения системного реестра с помощью файла записей регистрации (.reg) В 4-й и 5-й версиях типы REG_EXPAND_SZ, REG_MULTI_SZ хранятся по-разному. Вот другой вариант (с идентичным результатом), здесь уже первая строчка Windows Registry Editor Version 5.00: Код:
Windows Registry Editor Version 5.00 |
У меня возникла странная вариация на эту тему.
Из контекстного меню "Мой компьютер" пункт меню "Диспетчер устройств" срабатывает правильно. Но если зайти в "Свойства системы" на вкладку "Оборудование" и попытаться запустить "Диспетчер устройств", то выскакивает сообщение от ММС : "Отказано в доступе к указанному устройству, пути или файлу. Возможно у Вас нет нужных прав доступа к этому объекту". Система WinXP SP3 Rus, права Администратора. Почему это так происходит? |
Miroslaw, попробуйте Пуск -> Выполнить ->
Код:
regsvr32 devmgr.dll |
Petya V4sechkin
Зарегистрировал devmgr.dll Цитата:
А интересно где в реестре находятся настройки вкладки "Оборудование", которая расположена в "Свойства системы"? |
Miroslaw, давайте с помощью FileMon + RegMon посмотрим, чего не хватает.
Запускаете FileMon -> меню Options -> Filter/Highlight -> снимаете галку Log Successes. Далее нажимаете кнопку Оборудование (в свойствах системы) и смотрите в FileMon, на чем обламывается. Та же процедура в RegMon. Можете выложить логи (меню File -> Save As). |
Вложений: 2
Petya V4sechkin, проделал все согласно инструкции и получил два файла:
Filemon_log1.zip Regmon_log1.zip Правда я впервые пользуюсь этими программами, поэтому внутри попало много мусора... |
а как добавить приложение если это в другом диске ? например в D/
|
Miroslaw, честно говоря, конкретной причины в логах не видно.
Единственное: в момент сбоя шло обращение к ZoneAlarm. |
Время: 09:38. |
Время: 09:38.
© OSzone.net 2001-