2012-02-05 2 views
4

Я хочу создать приложение, которое использует IDM api, будет ли оно не скомпилировано dll на самом деле, это три файла, созданных в C++, их расширение - .h, .tlb, .c.IDM (менеджер загрузки через Интернет) с использованием C#?

Это ссылка на страницу: IDM API.

Я хочу, чтобы иметь возможность использовать эти файлы в проекте C#, я googled об этом, и то, что я нашел, это то, что я должен скомпилировать эти файлы в DLL, чтобы иметь возможность их использовать.

Пожалуйста, взгляните на ссылки и скажите мне, что я могу сделать, чтобы использовать API, и если это необходимо для компиляции этих файлов в dll, пожалуйста, скажите мне, почему я не имею понятия.

Спасибо.

ответ

1

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

2

API, кажется, COM-объект - вы пытались его найти в диалоговом окне Добавить ссылку? COM-объекты регистрируются глобально, и, судя по этой странице, он должен быть там, если вы запустили «IDM» на своем компьютере.

+1

Я попытался добавить ссылку, но он дает ошибку. – ykh

7

Вы должны

1) скачать IDMCOMAPI.zip на диск

2) извлечь библиотеку IDManTypeInfo.tlb типа из этого архива, где-то на диске

3) Запускаем Type Library Importer инструмент, как это:

[C:\Temp]"c:\Program Files\Microsoft SDKs\Windows\\v7.1\Bin\TlbImp.exe" IDManTypeInfo.tlb 
Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1 
Copyright (C) Microsoft Corporation. All rights reserved. 

Type library imported to IDManLib.dll 

Это создаст IDManLib.dll

4) Теперь вы можете ссылаться на IDManLib.dll в своем проекте. Я не тестировал его, но я также предполагаю, что вы хотите, чтобы ваша программа была скомпилирована с надлежащей битовостью (это зависит от того, как работает IDM COM Server). Итак, я предлагаю вам скомпилировать как X86 (не anyCpu, а не X64).

+0

Я попробовал то, что вы предложили, но я продолжаю получать сообщение об ошибке System.IO.Excetopn - Ошибка отказа от доступа «TI1000», я искал ошибку, но не повезло. Я использовал визуальную студию команды prombet. – ykh

+0

Вам следует попробовать запустить tlbmp в качестве администратора с отключенным UAC. –

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