Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];

Вниз

Как путь типа SystemRoot ... превратить в нормальный?   Найти похожие ветки 

 
DVM ©   (2009-09-19 02:30) [0]

В разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
у каждого сервиса есть параметр ImagePath.

Так вот, у некоторых сервисов этот путь указан в виде:
\SystemRoot\System32\drivers\afd.sys

у других:
system32\DRIVERS\tmeter.sys

Во всех случаях система без проблем находит файлы сервисов.

ВОПРОС: Нет ли какой функции, которая могла бы преобразовать такие пути в нормальные? ExpandEnvironmentStrings() не предлагать, она преобразует только %SystemRoot%. SearchPath() тоже такое не находит.


 
DVM ©   (2009-09-19 02:33) [1]

Там конечно не только сервисы, а еще и драйверы, но это не важно. Важны пути.


 
DVM ©   (2009-09-19 12:16) [2]

Насколько я понимаю, \SystemRoot в данном пути - это символическая ссылка?
Как такую ссылку преобразовать в полный путь, начинающийся желательно с буквы диска и т.д.?

system32 - это вообще непонятно что (во втором пути).

Я конечно могу тупо заменить  SystemRoot на папку Windows, к system32 дописать папку Windows в начале, но это мне кажется не самый лучший вариант.


 
Игорь Шевченко ©   (2009-09-19 12:49) [3]


> Насколько я понимаю, \SystemRoot в данном пути - это символическая
> ссылка?


нет, systemroot - это не символическая ссылка. Это переменная окружения без обрамляющих %
недаром тип этого значения в реестре равен REG_EXPAND_SZ


 
DVM ©   (2009-09-19 15:21) [4]


> Игорь Шевченко ©   (19.09.09 12:49) [3]


> Это переменная окружения без обрамляющих %

Странно, как в данном случае эту переменную можно отличить от с именем SystemRoot

Вот здесь http://x64.blog.ru/51061171.html сказано, что это имена подсистемы Native. Но что то там разбор этого имени слишком муторный.


 
Игорь Шевченко ©   (2009-09-19 17:07) [5]

DVM ©   (19.09.09 15:21) [4]


> Вот здесь http://x64.blog.ru/51061171.html сказано, что
> это имена подсистемы Native. Но что то там разбор этого
> имени слишком муторный.


Так никто не мешает проверить, вызвав NtOpenSymbolicLink|NtQuerySymbolicLink

утилита Winobj от sysinternals такой ссылки не показывает в пространстве имен менеджера объектов, потому я и посчитал, что переменная окружения.
Может и ошибся и ее имя жестко прописано внутри системы.

Но переменная окружения с таким именем имеется :)



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
15-1253037180
Вячеслав.К
2009-09-15 21:53
2009.11.15
D2009 - Enter стирает строки в коде?


2-1254269831
Drowsy
2009-09-30 04:17
2009.11.15
Как можно из программы запустить другое приложение


1-1224746986
gameus
2008-10-23 11:29
2009.11.15
Как заставить чужое приложение двигаться


2-1254215307
Серега
2009-09-29 13:08
2009.11.15
Показ формы


2-1254154087
leron
2009-09-28 20:08
2009.11.15
Полная перерисовка окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский