Главная страница
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.039 c
15-1165237556
Рамиль
2006-12-04 16:05
2006.12.24
Альтернатива Enterprise Manager для MS SQL Express


2-1165320973
Галинка
2006-12-05 15:16
2006.12.24
Можно ли найти xml-узел по имени


15-1164990761
FIL-23
2006-12-01 19:32
2006.12.24
хочу управлять CD-ROM :)


3-1160896783
Winni
2006-10-15 11:19
2006.12.24
Password для БД в BDE


1-1162984667
Димыч
2006-11-08 14:17
2006.12.24
Прилипание дочерних окон к главному окну