Поиск папок

Тема в разделе "WASM.WIN32", создана пользователем warsem, 5 июл 2005.

  1. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    вроде бы задача простая, а ка это сделать не знаю(юзал поиск, увы не нашел). Наверное есть какая-то АПИ для этого. Или FindFirstFile/FindNextFile нужно как-то маску специфично задать?

    Подскажите люди добрые:)
     
  2. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    внимательно изучи структуру WIN32_FIND_DATA
     
  3. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    Мне думалось, что она заполняеться после вызова функции. 3нания английского внимательно изучить не позволяют.

    Пробовал поле dwFileAttributes приравнивать к FILE_ATTRIBUTE_DIRECTORY. А что тогда в маску? Вообщем немного поэксперементировал но резултат все тот-же: eAX=-1
     
  4. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Код (Text):
    1. ; ###################################################################### ###
    2. .data
    3.     szStartPath         db  "c:\",0,128 dup (0)
    4.     lpPattern           db  "*",0
    5.     FindData            WIN32_FIND_DATA <>
    6.     hFind               dd 0
    7.  
    8. .code
    9.  
    10. start:
    11.     invoke  lstrcat, addr szStartPath, addr lpPattern
    12.     invoke FindFirstFile, addr szStartPath, addr FindData
    13.     .if eax != INVALID_HANDLE_VALUE
    14.         mov hFind, eax
    15.         .while eax != 0
    16.             .if byte ptr FindData.cFileName != '.'
    17.                 .if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    18.                     invoke MessageBox,0, addr FindData.cFileName, addr szStartPath, MB_OK
    19.                 .endif
    20.             .endif
    21.             invoke FindNextFile,hFind,addr FindData
    22.          .endw
    23.          invoke FindClose, hFind
    24.      .endif
    25.  
    26.     invoke  ExitProcess,NULL
    27. end start
     
  5. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    Извени, а этот пример точно по сабжу?

    Я переделал под тасм(может конечно неправильно), и единственное что он находит, это какойто файл CUHDLOG.DAT(которого на тачке обычным поиском не найдещь).



    А мне то надо получить список из файлов и папок в текущей дире.



    А! Да! ОС вынь98
     
  6. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    О! Извени! Я разобрался. Так и есть. Перевелнеправильно. Огромное спасибо.