Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Source Codes
Autor
Nachricht
Devilworld
Tutorial Leser
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
Ü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
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Source Codes

Tags: dll benutzen, rar

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2612 06.03.2008, 21:19
Keine neuen Beiträge Dll injection/uninjection 1411 27.09.2007, 08:12
Keine neuen Beiträge ieframe.dll 871 24.06.2007, 09:14
Keine neuen Beiträge Dll Injection in vb6 1250 22.06.2007, 16:55
Keine neuen Beiträge DLL Injection 1086 18.07.2008, 15:58
 


[ Time: 0.0583s ][ Queries: 85 (0.0168s) ][ GZIP on - Debug on ]