Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2013, 19:11   #1
Satansoft
Пользователь
 
Регистрация: 24.11.2012
Сообщений: 40
Сообщение Сканирование каталога средствами Win32

Сканируем содержимое каталога dir в папке с программой (корневой).
С параметрами все верно? И если верно
Цитата:
If the function succeeds, the value returned is the length, in characters, of the string copied to the buffer
Как результат из буфера выдрать?

Код:
format PE Console 4.0
entry Start

include 'win32a.inc'

section '.data' data readable writeable
_DirectoryName db 'dir',0
_FileExt db '.*',0
_buffLen rb 254
_buffName rb 254

section '.text' code readable executable
Start:
push eax
invoke SearchPathA,_DirectoryName,0,_FileExt,_buffLen,_buffName,0   

invoke printf, eax
invoke _getch
pop eax  
invoke ExitProcess,0
  
section '.idata' import data readable
  
  library kernel, 'KERNEL32.DLL',\
          msvcrt,'MSVCRT.DLL'
          
  import msvcrt,\
        printf,'printf',\
        _getch,'_getch' 
  
  import kernel,\
    SearchPathA, 'SearchPathA',\
    ExitProcess, 'ExitProcess'
Satansoft вне форума Ответить с цитированием
Старый 02.12.2013, 19:53   #2
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Было бы что выдирать.
Код:
format PE Console 4.0
entry Start

include 'include\win32a.inc'

section '.data' data readable writeable
_FileExt db '.exe',0
_FileName db 'cmd',0
_buffName rb 254
_buffLen equ 254

section '.text' code readable executable
Start:

invoke SearchPathA,0,_FileName,_FileExt,_buffLen,_buffName,0

invoke printf, _buffName
invoke _getch

invoke ExitProcess,0
  
section '.idata' import data readable
  
  library kernel, 'KERNEL32.DLL',\
          msvcrt,'MSVCRT.DLL'
          
  import msvcrt,\
        printf,'printf',\
        _getch,'_getch' 
  
  import kernel,\
    SearchPathA, 'SearchPathA',\
    ExitProcess, 'ExitProcess'
Satansoft, отладчик - лучший друг программиста, а не форумы всякие. В код вставляйте 0cch, отладочное прерывание, и ищите ошибку.

Последний раз редактировалось vadimych; 02.12.2013 в 19:55.
vadimych вне форума Ответить с цитированием
Старый 02.12.2013, 23:15   #3
Satansoft
Пользователь
 
Регистрация: 24.11.2012
Сообщений: 40
По умолчанию

vadimych, ваш вариант в системной папке ищет конкретный файл, а необходимо заданную директорию просканировать по маске...int 0cch вставить? так отладчик стопорится с самого начала... Не хочет он по маске искать... '.*'
Satansoft вне форума Ответить с цитированием
Старый 03.12.2013, 00:27   #4
Satansoft
Пользователь
 
Регистрация: 24.11.2012
Сообщений: 40
По умолчанию

Понял, как и положено студенту, из 2 функций на поиск файлов, я выбрал ту, которая ищет конкретный файл, а для сканирования всей директории необходимы FindFirstFile и FindNextFile...
Satansoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бэкап проходит средствами sql но не проходит средствами 1с so1idsnake Помощь студентам 4 16.09.2013 08:44
Win32 + GUI or Win32 + WindowForm Black-Sparkle Visual C++ 0 02.03.2012 14:55
win32 API.Visual Studio 2008.Создание проекта Win32 Aleksandr_Yanov Visual C++ 2 12.09.2010 13:09
Win32 API. VS2008. Как создать приложение win32 в vs2008? Aleksandr_Yanov Visual C++ 4 12.09.2010 00:59
HLLW.Shadow.based / Net-Worm.Win32.Kido / Win32.Conficker / W32.Downadup Pirotexnik Безопасность, Шифрование 13 27.03.2009 14:02