Пересчет файлов по маске Код (Text): start proc invoke FindFirstFile, addr pszTextMask, addr lpFindFileData mov hFindFirst, eax .if eax != INVALID_HANDLE_VALUE inc byte ptr [counter] .while TRUE invoke FindNextFile, hFindFirst, addr lpFindFileData .if !eax .break .endif inc byte ptr [counter] .endw .endif invoke wsprintf, addr lpBuffer1, addr szMessage, counter invoke MessageBox, 0, addr lpBuffer1, 0, 0 xor eax, eax ret start endp end start
вверху Код (Text): .data? lpFindFileData WIN32_FIND_DATA <?> hFindFirst dd ? .data pszTextMask db "*.exe",0 counter dd 0 szMessage db "Количество найденых файлов, %i",0 lpBuffer1 db 250 .code
Первый пост дал самый правильный ответ! А еще нужно флаг MOSK в 1 установить! Тогда все пучком будет.
AsmGuru62 Спасибо за наблюдательность start proc invoke FindFirstFile, addr pszTextMask, addr lpFindFileData mov hFindFirst, eax .if eax != INVALID_HANDLE_VALUE inc byte ptr [counter] .while TRUE invoke FindNextFile, hFindFirst, addr lpFindFileData .if !eax .break .endif inc byte ptr [counter] .endw .endif invoke FindClose, hFindFirst invoke wsprintf, addr lpBuffer1, addr szMessage, counter invoke MessageBox, 0, addr lpBuffer1, 0, 0 xor eax, eax ret start endp end start