![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| EnyKey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 14.10.2006 Репутация: нет Всего: нет |
Программа получает адрес в виде \Device\HarddiskVolume3\...
Для дальнейшего обращения к файлу нужно преобразовать данное представление в, например, E:\... Как такое сделать? |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: нет Всего: 23 |
Откуда получается адрес без имени диска?
Если тебе нужен полный адрес к файлу то используй функцию GetCurrentDir. |
|||
|
||||
| EnyKey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 14.10.2006 Репутация: нет Всего: нет |
Получаем от NtQueryObject...
Вместо имени диска идёт машинное представление MountedDevice. Надо полчучить имя диска |
|||
|
||||
| bems |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Эта штука выводит
Перебираешь все буквы и сравниваешь со своим девайсом -------------------- Обижено школьников: 8 |
||||
|
|||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Ну вообще эта информация хранится здесь: HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices, а ещё есть функция DefineDosDevice, она вроде обратна функции QueryDosDevice, иль я ошибаюсь)
Это сообщение отредактировал(а) BUGOR - 15.10.2006, 08:01 |
|||
|
||||
| S0vNarK0m |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 15.10.2006 Репутация: нет Всего: нет |
BUGOR, Ошибаешься, DefineDosDevice позволяет смонтировать диск... или отключить.
|
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
S0vNarK0m, вот, единственный раз пренебрёг описанием и решил положиться на свою логику и ошибься, бывает... спасибо за поправку
|
|||
|
||||
| EnyKey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 14.10.2006 Репутация: нет Всего: нет |
bems, а без перебора способа нету?
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Мне такие не известны, но не думаю чтобы они были. Дело в том, что c: это символическая ссылка на Device\HarddiskVolume1 и их может быть больше одной. Как зная (к примеру) адрес ячейки памяти найти конкретный из всего множества указатель на нее? Это метафора, но я надеюсь мысль ясна - с помощью DefineDosDevice можно хоть десяток "дисков"-двойников наделать, хватило бы букв. Поэтому если способы, о которых ты говоришь и существуют, то внутренне это будет перебор. Если и после этого способ не подходит - вся проблема в реализации и нужно учиться писать -------------------- Обижено школьников: 8 |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
||||
|
||||
| EnyKey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 14.10.2006 Репутация: нет Всего: нет |
bems, нет, спасибо, просто думал, вдруг варианты есть))
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
EnyKey, почитай еще хелп по QueryDosDevice, она может возвращать не строку, а массив строк. Пример савсем упращенный
-------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |