|
| Autor |
Nachricht |
Devilworld Tutorial Leser

Anmeldedatum: 03.05.2008 Beiträge: 25
|
unrar.dll
Verfasst am: 03.05.2008, 16:13 |
|
|
Hey, hab ein Programm, das nun ein einfaches Rar Achiv entpacken soll. Dafür möchte ich die unrar.dll benutzen...
Hat jemand damit Erfahrung und kann eventuell eine kleine Source reinstellen? Die unter google ist nicht sehr hilfreich.
Thx u. MfG Devilworld |
|
| |
|
 |
ZiG Überflieger

Anmeldedatum: 16.04.2008 Beiträge: 421
|
Verfasst am: 03.05.2008, 16:41 |
|
|
Das ist relativ vereinfacht. Ich brauchte es nur zum Passwort testen.
Modul: Visual Basic: [code] 'Beispiel : Verwendung : FreeWare-DLL "unrar.dll". Passwortgeschuetzte Archive entpacken. ' Teil. 2. 'Hinweis 1: Kopieren Sie die Datei "unrar.dll" in Ihr Systemverzeichnis. 'Hinweis 2: Der Inhalt des passwortgeschuetzten Archives wird auch ohne Uebergabe ' eines Passwortes generiert, aber ohne dessen Dateiinhalt. ' In diesem Testbeispiel ist das Passwort des RAR - Archives = Onkel
Private Declare Function RAROpenArchiveA Lib "UnRAR.dll" _ Alias "RAROpenArchive" _ (ByRef RarOpenArchiveData As RAR_OPENARCHIVEDATA) _ As Long Private Declare Function RARReadHeaderA Lib "UnRAR.dll" _ Alias "RARReadHeader" _ (ByVal recHwnd As Long, _ ByRef RarReadHeaderData As RAR_READHEADERDATA) _ As Long Private Declare Function RARCloseArchiveA Lib "UnRAR.dll" _ Alias "RARCloseArchive" _ (ByVal arcHwnd As Long) _ As Long Private Declare Function RARProcessFileA Lib "UnRAR.dll" _ Alias "RARProcessFile" _ (ByVal headerHwnd As Long, _ ByVal dwProcess As Long, _ ByVal sDestinationPath As String, _ ByVal sDestinationFileName As String) _ As Long Private Declare Function RARSetPassword Lib "UnRAR.dll" _ (ByVal arcHwnd As Long, _ ByVal spw As String) As Long Private Enum RarProcess rpRarOpenModeExtract = 1 rpRarExtract = 2 End Enum Private Const MAX_ARCHIVENAMELEN = 260 Private Const MAX_FILENAMELEN = 260
Private Type RAR_OPENARCHIVEDATA srarArchiveName As String lrarOpenMode As Long lrarResult As Long srarBuffer As String lrarBufferSize As Long lrarSize As Long lrarState As Long End Type
Private Type RAR_READHEADERDATA srarArchiveName As String * MAX_ARCHIVENAMELEN srarFileName As String * MAX_FILENAMELEN uFlags As Long lrarCompressedSize As Long lrarUncompressedSize As Long lrarOperatingSys As Long lrarFile As Long lrarFileTime As Long lrarUncompressedVersion As Long lrarWorkMethod As Long lrarFileAttributes As Long srarBuffer As String lrarBufferSize As Long lrarSize As Long lrarState As Long End Type
Public Function fUncompressRarArchive(ByVal sSource As String, ByVal sDestination As String, ByVal spw As String) As Boolean On Error Resume Next Dim road As RAR_OPENARCHIVEDATA Dim rrhd As RAR_READHEADERDATA Dim lArchive As Long Dim iFile As Integer road.srarArchiveName = sSource road.lrarOpenMode = RarProcess.rpRarOpenModeExtract lArchive = RAROpenArchiveA(road) Call RARSetPassword(lArchive, spw) iFile = RARReadHeaderA(lArchive, rrhd) If RARProcessFileA(lArchive, RarProcess.rpRarExtract, "", sDestination + rrhd.srarFileName) = 0 Then fUncompressRarArchive = True Else fUncompressRarArchive = False End If RARCloseArchiveA (lArchive) End Function [/code]
Verwendung: Visual Basic: [code] If fUncompressRarArchive(Rarpath & RarFilename, Rarpath, word) Then End If [/code]
Wenn du mehr brauchst, findest du dazu sources auf pscode.com |
|
| |
|
 |
|
|