Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.24;
Скачать: CL | DM;

Вниз

ExpandEnvironmentStrings для строк, которые не экспандяться :)   Найти похожие ветки 

 
Riply ©   (2006-12-03 14:29) [0]

Здравствуйте !
Подскажите, пожалуйста, как получить полный путь
из строки типа:  "\Windows\bla_bla\bla_bla.bla" ?


 
Palladin ©   (2006-12-03 14:31) [1]

никак, это относительный путь, а не абсолютный, и зависит от текущего диска


 
Riply ©   (2006-12-03 14:54) [2]

Некоторые из строк, возвращаемых NtQuerySystemInformation(SystemModuleInformation, ...
именно такого типа.
Если "никак, это относительный путь, а не абсолютный, и зависит от текущего диска",
но очень хочеться :) определить путь к файлу, то что делать ?


 
Palladin ©   (2006-12-03 15:08) [3]

узнать какой текущий диск

GetCurrentDirectory
ExtractFileDrive

к тому что получится прибавить "\Windows\bla_bla\bla_bla.bla"
что конечно же не будет означать существование файла, просто ты получишь полное имя файла к которому будет происходить обращение при попытке обратиться к нему


 
Riply ©   (2006-12-03 15:53) [4]

К сожалению, текущий диск тот, где установлена программа, а не системный.
Но это полбеды.
Как я понимаю, может оказаться несколько файлов
("C:\Windows\bla_bla\bla_bla.bla", "D:\Windows\bla_bla\bla_bla.bla", и т. д.).
Как из них выбрать нужный ? Ведь он может быть на любом (не обязательно системном) диске :(
Что подразумевала NtQuerySystemInformation ? :)


 
Palladin ©   (2006-12-03 16:11) [5]

а что конкретно ты хочешь получить? NtQuerySystemInformation устарела и MS не рекомендует ее использовать...


 
Riply ©   (2006-12-03 17:40) [6]

Для начала, хочу получить список загруженных модулей
(без "двоякопонимаемой" информации :).
Уж очень интересно :)


 
Anatoly Podgoretsky ©   (2006-12-03 17:53) [7]

Не одна из Expand функций не гарантирует правильности полученого пути.


 
Leonid Troyanovsky ©   (2006-12-03 18:05) [8]


> Riply ©   (03.12.06 15:53) [4]

> Как из них выбрать нужный ? Ведь он может быть на любом
> (не обязательно системном) диске :(

Если в руках есть его handle, то с помощью GetFileInformationByHandle
with dwVolumeSerialNumber, nFileIndexHigh, nFileIndexLow.

--
Regards, LVT.


 
Riply ©   (2006-12-03 19:27) [9]

> [8] Leonid Troyanovsky ©   (03.12.06 18:05)
>Если в руках есть его handle
А сами мы не местные. Где ж мы раздобудем такое сокровище как Handle ?



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

Текущий архив: 2006.12.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.063 c
15-1165312625
бамбуча
2006-12-05 12:57
2006.12.24
Шахматы


2-1165325275
mfender
2006-12-05 16:27
2006.12.24
Запустить внешний редактор...


15-1165101085
Вопросс
2006-12-03 02:11
2006.12.24
Кто отравил Березовского?


15-1165306535
sasha1884
2006-12-05 11:15
2006.12.24
Нужна программа на Delphi! Оплата гарантирована


2-1165507058
Roman_ln
2006-12-07 18:57
2006.12.24
Как передать элементы комб. списка с Form1 на Form2