Поиск папок

Discussion in 'WASM.WIN32' started by warsem, Jul 5, 2005.

  1. warsem

    warsem Сеня

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

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

    Broken Sword Robert

    Blog Posts:
    0
    Joined:
    Aug 30, 2002
    Messages:
    433
    внимательно изучи структуру WIN32_FIND_DATA
     
  3. warsem

    warsem Сеня

    Blog Posts:
    0
    Joined:
    Jan 26, 2005
    Messages:
    170
    Location:
    Германия, NRW
    Мне думалось, что она заполняеться после вызова функции. 3нания английского внимательно изучить не позволяют.

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

    cresta Active Member

    Blog Posts:
    0
    Joined:
    Jun 13, 2004
    Messages:
    2,257
    Code (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 Сеня

    Blog Posts:
    0
    Joined:
    Jan 26, 2005
    Messages:
    170
    Location:
    Германия, NRW
    Извени, а этот пример точно по сабжу?

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



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



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

    warsem Сеня

    Blog Posts:
    0
    Joined:
    Jan 26, 2005
    Messages:
    170
    Location:
    Германия, NRW
    О! Извени! Я разобрался. Так и есть. Перевелнеправильно. Огромное спасибо.