Процедура ExtractArchive под UNRAR.dll - подскажите плз

Тема в разделе "WASM.WIN32", создана пользователем _animaTOR_, 22 авг 2005.

  1. _animaTOR_

    _animaTOR_ New Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    58
    Добрый день!

    Пытаюсь распаковать rar-архив. Но что-то не выходит. Распакованный файл не появляется рядом с архивом.

    У меня есть 1.rar > 1.txt >'123'


    Код (Text):
    1.  
    2. szOutDir    db 'C:\',0
    3. szFileRARName   db '1.rar',0
    4.  
    5. ...
    6.  
    7.     invoke ExtractArchive, addr szFileRARName
    8. ...
    9.  
    10. ExtractArchive proc ArcName: DWORD;, Mode: WORD
    11.  
    12. local hArcData: DWORD
    13. local HeaderData: RARHeaderData
    14. local OpenArchiveData: RAROpenArchiveData
    15. local CmtBuf : DWORD
    16.  
    17.   invoke GlobalAlloc,GMEM_FIXED or GMEM_ZEROINIT, 16383
    18.   mov CmtBuf, eax
    19.   mov eax,ArcName
    20.   mov OpenArchiveData.ArcName , eax
    21.   mov eax,CmtBuf
    22.   mov OpenArchiveData.CmtBuf  , eax
    23.   mov OpenArchiveData.CmtBufSize , 16383
    24.   mov OpenArchiveData.OpenMode , RAR_OM_EXTRACT
    25.  
    26.  
    27.   invoke RAROpenArchive, addr OpenArchiveData
    28.  
    29.   invoke RARProcessFile, hArcData, RAR_EXTRACT, ADDR szOutDir, 0    
    30.  
    31.  
    32.   invoke GlobalFree,CmtBuf
    33.   invoke RARCloseArchive,hArcData
    34.   mov eax,1
    35.   ret
    36.  
    37. ExtractArchive endp
    38.  




    ... описания самой последовательности, полей структур - искал, но не нашел. Пытаюсь подправить тут чей-то пример, но не выходит. Подскажите - что не правильно. Помогите ПЛЗ :dntknw:
     
  2. young_man

    young_man New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2005
    Сообщения:
    117
    Адрес:
    Ukraine
    ... нет цикла
    Код (Text):
    1. while ( ReadHeaderRar(hArcData, &HeaderData)==0)
    2. {
    3. RARProcessFile(hArcData, 2, NULL, NULL) ;
    4.  }


    ... потому и не работает.

    Вот Вам исходник на С ... там все понятно. Правда саму unrar.dll поищите.

    У меня есть размером 75Kb (самый мин.) - надо?

    И еще есть описание структур на en. - надо?



    Удачи ! :)
     
  3. young_man

    young_man New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2005
    Сообщения:
    117
    Адрес:
    Ukraine
  4. young_man

    young_man New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2005
    Сообщения:
    117
    Адрес:
    Ukraine