Главная страница
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.03 c
2-1165120198
Tru
2006-12-03 07:29
2006.12.24
Компонент TDBLookupListBox


15-1165001808
Колдун
2006-12-01 22:36
2006.12.24
Схожу с ума


8-1147070418
Winni
2006-05-08 10:40
2006.12.24
Перекодировать DVD в CD (MPEG4 ) ?


2-1165507895
клоун
2006-12-07 19:11
2006.12.24
progressbar


3-1160648549
БогданБ
2006-10-12 14:22
2006.12.24
Можно ли чтоб в строки DBGrid записывались только большие буквы?