Если надо работать непосредственно со строкой (первый параметр), то
invoke GetVolumeInformationW, uni$("D:\"), ...
(макрос uni$ описан в \masm32\macros\ucmacros.asm, если что)
name_name
13.12.2009 16:52
Спасибо, ответы помогли.. Но что-то я так и не понял до конца( Допустим, надо определить файловую систему логического раздела. Вот что у меня выходит
.486 .model flat, stdcall option casemap :none
include c:\\masm32\include\windows.inc include c:\\masm32\macros\macros.asm include c:\\masm32\macros\ucmacros.asm
include c:\\masm32\include\masm32.inc include c:\\masm32\include\gdi32.inc include c:\\masm32\include\user32.inc include c:\\masm32\include\kernel32.inc
но оно всегда выводит OtherFS (или я плохо тестил). Как исправлять?
volvo
13.12.2009 17:09
Цитата
Как исправлять?
Правильно пользоваться возможностями GetVolumeInformationW. Ты зачем последний параметр установил в 2? У тебя вообще-то в mas должно уже записаться название файловой системы...
Правильно пользоваться возможностями GetVolumeInformationW. Ты зачем последний параметр установил в 2? У тебя вообще-то в mas должно уже записаться название файловой системы...
.REPEAT invoke GetDriveType, esi .IF EAX == DRIVE_FIXED invoke MessageBox, NULL, esi, ADDR sDrive, MB_OK ; Ну, а уж тут - делай что тебе надо... .ENDIF add esi, 4 .UNTIL byte ptr [esi] == 0 invoke ExitProcess, 0 exit end start
Смысл программы, которую пишешь, в чем состоит?
Спасибо! то что надо! задание звучит так:
Цитата
Написать программу для определения количества логических дисков в системе, типа файловой системы для каждого из дисков, их размера и метки. Отчет о проделанной работе сохранить в текстовый файл.
Но я бы хотел еще сам немного помучатся)
name_name
13.12.2009 21:10
Цитата(name_name @ 13.12.2009 15:49)
Но я бы хотел еще сам немного помучатся)
помучался( Для того что-бы узнать размер тома надо вызывать GetDiskFreeSpaceEx и "оперировать" с предпоследним параметром, верно? Но что-то не выходит( Ведь возвращает он не строку, верно?
upd сдается мне что там 64битное число.. и как с ним работать?
udp2 StrFormatByteSize64 решает все проблемы
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.