2013-08-29 5 views
-1

Итак, я искал файлы dll, которые позволят мне распаковывать файлы, и я смог найти немало таких, как unrar.dll, chilkat, sharpcompress и некоторые другие, но я хотел использовать один, предоставленный самим Раром.Распакуйте файл rar

Поэтому я ссылался на файл DLL в своем проекте и импортировал его. Я использовал unrar.dll.

Но я не смог найти какой-либо актуальный код, чтобы я мог проверить и попробовать. Все примеры, которые я нашел, были либо не актуальными, либо не для Vb.net.

Я также попробовал официальный пример, который пришел в установке, но это не работает, даже после того, как я установил его, и когда я пытался использовать код, который я всегда получал ошибку для

object reference not set to an instance of an object 

Я просто хотите разбить rar-файл из определенного места в корневую директорию моей программы, поэтому, если моя программа была на рабочем столе, я хочу, чтобы она распаковывала файл в Мои документы и извлекала файлы на мой рабочий стол.

+0

Не могли бы вы отредактировать свой вопрос, чтобы включить код, который вы пробовали, который забросил ошибку, о которой вы просите? – Adrian

+0

Это был код по умолчанию. Было бы слишком долго набирать его здесь, но вот ссылка на официальный сайт RAR, где вы можете получить его: http://www.rarlab.com/rar_add.htm –

+0

Этот сайт не позволяет задавать вопросы ссылки или библиотеки, и ваш вопрос программирования слишком широк. Попытайтесь уменьшить свой вопрос до определенной проблемы программирования, в которой мы можем вам помочь. – SysDragon

ответ

2

Если вы хотите распаковывать файлы, я был в состоянии сделать это с SharpCompress

Я создал новый VB.Net приложение и добавил ссылку на SharpCompress.dll и использовал этот код

'Imports 
Imports SharpCompress.Archive 
Imports SharpCompress.Common 

'Unrar code 
Dim archive As IArchive = ArchiveFactory.Open("c:\file.rar") 
For Each entry In archive.Entries 
    If Not entry.IsDirectory Then 
     Console.WriteLine(entry.FilePath) 
     entry.WriteToDirectory("c:\unrar", 
      ExtractOptions.ExtractFullPath Or ExtractOptions.Overwrite) 
    End If 
Next 

More code samples

+0

Спасибо, это должно сделать трюк. Я посмотрел на эту страницу, но код выглядел устаревшим. Я еще раз посмотрю. Еще раз спасибо, я попробую это завтра. –

Смежные вопросы