Laden...

unrar.dll als Verweis hinzufügen ?

Erstellt von AndreMueller vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.059 Views
A
AndreMueller Themenstarter:in
22 Beiträge seit 2005
vor 18 Jahren
unrar.dll als Verweis hinzufügen ?

Hallo Zusammen,

ich möchte gerne ein Programm schreiben welches mir aus einen Verzeichnis alle vorhandenen RAR Dateien automatisch nacheinander (eine Art Batch verarbeitung) entpackt. Leider habe ich das Problem, das ich die unrar.dll von http://www.rarlab.com/rar/UnRARDLL.exe nicht in mein Programm einbinden kann 😦

Ich hoffe einer von Euch kann mir helfen.

Besten Dank schon mal für die Mühe.
Gruß
LT

D
280 Beiträge seit 2005
vor 18 Jahren

Hi,

kennst du denn die Methoden aus der unrar.dll, die du für das entpacken benötigst?
Mittels DLLIMPORT sollte ein Aufruf dieser Methoden möglich sein, wenn sie denn dementsprechend in der unrar.dll angegeben sind.

Vielleicht wäre es besser per Process Start die exe für das entpacken aufzurufen?

gruss

Dennie Schmögner
Dipl. Ing. Informatik / Fachrichtung Automatisierungstechnik
Microsoft Business Intelligence 2005
SharePoint Portal Server 2007

S
1.047 Beiträge seit 2005
vor 18 Jahren

was heißt "nicht einbinden kann"?

normalerweise müßte es gehn... du bindest die funktionen genauso ein wie auch aus kernel32.dll usw. - über pinvoke (www.pinvoke.net ist glaub ich ne seite für sowas)
welche funktionen in der dll stecken mitderen parametern gibts betsimmt als docu bei rar

was hast du denn schon probiert und was gabs für probleme?

nachtrag:
bei der suche in goole fand ich diese seite, die dir sicher weiter hilft =)
http://www.pcreview.co.uk/forums/thread-1349875.php

X
2.051 Beiträge seit 2004
vor 18 Jahren

das Zauberwort heißt PInvoke.

du kannst mit Hilfe von DllImportAttribute auf die Funktionen aus der Dll zugreifen. Signatur der Funktionen hast du in den entsprechenden Header-Dateien.

A
AndreMueller Themenstarter:in
22 Beiträge seit 2005
vor 18 Jahren
Danke für die schnellen Antworten

Die Methoden sind unter rarlab beschrieben ( Programmbeispiele ). Das wird dann schon irgendwie funzen, aber wie gesagt VS 2003 wirft mir folgende Fehlermeldung wenn ich dieses Probiere :

1.)Neues Projekt
2.)rechtsklick Verweise - Verweishinzufügen
3.)Durchsuchen : unrar.dll - hinzufügen ( die dll steht unter ausgewählte Komponenten)
4.)Ok

Jetzt kommt folgende Fehlermeldung :

Es konnte kein Verweis aud C:\VisualStudio\UnRAR\unrar.dll hinzugefügt werden. Dies ist keine Assembly oder COM Komponente.....

Gibt es noch einen anderen Weg eine .dll zu Importieren ???

thx
André

A
AndreMueller Themenstarter:in
22 Beiträge seit 2005
vor 18 Jahren

...oh Sorry, bin Neuling in der Programmierung .

Was meinst Du mit : PINVOKE ? Was ist das ?

S
8.746 Beiträge seit 2005
vor 18 Jahren

Du hast es hier mit einer DLL zu tun, die nicht .NET ist. Nur .NET-DLLs kannst du aber als Verweise einem .NET-Projekt hinzufügen.

"Normale" DLLs muss man über einen Mechanismus aufrufen, der PInvoke genannt wird (siehe DLLImport). Dazu muss man die Funktionen, die man aufrufen will, in .NET-Schreibweise explizit definieren. Auch auf die Typenumsetzung muss geachtet werden. Stichwort für die Hilfe ist wie gesagt DLLImort.

Ehrlich gesagt: Das Thema ist nix für Anfänger. Vielleicht findest du ja irgendwo im Internet jemanden, der sich die Mühe gemacht hat die fertigen "Imports" zur Verfügung stellt.

A
AndreMueller Themenstarter:in
22 Beiträge seit 2005
vor 18 Jahren

oh das hört sich wirklich nicht einfach an. Mist hätte gerne damit gezaubert.Im Netz hab ich nichts gefunden. Naja. Danke für die Hilfe.

S
8.746 Beiträge seit 2005
vor 18 Jahren

Hier scheint jemand ne Lösung zu haben:

http://www.csharp-station.com/ShowPost.aspx?PostID=3470