· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.RESEARCH —› результат GetVolumeInformation

Посл.отвђт Сообщенiе


Дата: Ноя 3, 2003 20:57:53

Вопрос следующий:
Пусть алгоритм для проверки присутсвия CD-ROM'a такой:
Последовательно переберать все буквы от A до Z
Потом вызывать функцию GetVolumeInformation и проверять метку....
А потом смотреть есть ли файл z.exe на нем..
Так вот получается что на последнем шаге будет попытка поиска например A:\z.exe
Как мне сделать что бы поиск производился в текущей директории?
ну не копировать же в корень?! :)


Дата: Ноя 3, 2003 21:32:11

Попробуй сформулировать вопрос немного по другому, а то не совсем понятно, что тебе мешает подставить необходимый путь при поиске файла.

Если тебе нужен каталог, в котором находится твоя программа, то его можно получить функцией GetModuleFileName.


Дата: Ноя 3, 2003 22:30:08

Если это возможно, лучше вообще обойти процедуру проверки диска. Чтобы она совсем не вызывалась, и не ломилась зря неизвестно куда и неизвестно зачем.

Бывает ещё что софтина, по каким-то своим соображеням, за некоторыми файлами данных лезет строго на сидюк. Некоторые игрушки так со своими мультиками делают. В простейшем случае, для этого используется код типа
sprintf(path, "%c:\data\%s", cdRomDriveLetter, filename);
Здесь можно сдвинуть передаваемый sprintf-у указатель на строку формата на четыре символа правее (после буквы диска и первого слэша), занопить занесение в стек буквы диска и не забыть поправить количество убираемых со стека параметров после вызова. То есть, по сути, сделать вызов идентичным простому sprintf(path, "data\%s", filename); При этом, каталог "data" с сидюка копируется в рабочий каталог программы.

Аналогично с любыми другими способами присоединения буквы диска к пути.

Надеюсь, я правильно понял, что ты имел ввиду, когда задавал свой вопрос.


Дата: Ноя 3, 2003 22:30:49

Вот код , посмотрите пожалуйста....


1182317996__code.txt


Дата: Ноя 3, 2003 23:23:52

Тормоз я ....
не LEA EAX,DWORD PTR DS:[EBX+1E0]
а LEA EAX,DWORD PTR DS:[EBX+1E3]
Все мидитируют....
Тема закрыта.... :)

Эта тема закрыта. Отвђты больше не принимаются.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.032