Вам понадобится больше, чем просто DLL.По крайней мере, вам нужно знать функции, их параметры и семантику.Без этого вы не сможете практично использовать DLL.Лучше всего начать с обращения к поставщику DLL.
Но если вы застряли, вот несколько способов начать работу ...
Используйте dumpbin.exe, чтобы получить некоторую информациюпо поводу DLL.В качестве альтернативы вы можете использовать зависит от.exe для графического представления.Обе эти программы будут где-то в вашей папке Visual Studio.
dumpbin.exe / exports покажет вам экспортированные функции.Это функции, которые вы можете вызвать из своего приложения.Каждая функция имеет имя и порядковый номер, и вы можете использовать любой из них позже в GetProcAddress.
Если вы видите функции с именами DllCanUnloadNow, DllRegisterServer и т. Д., То это COM DLL.В этом случае вам понадобится соответствующая библиотека типов.Поставщик DLL, вероятно, отправит вам библиотеку типов, если вы спросите их.Некоторые библиотеки DLL хранят свои библиотеки типов как ресурсы - вы можете открыть библиотеку DLL непосредственно в Visual Studio и найти ресурс типа «TYPELIB».Если есть ресурс библиотеки типов, то вы можете экспортировать его и сохранить его как what.tlb, а затем открыть его в OleViewer или средстве просмотра типов Visual Studio - в любом случае, вы готовы начать играть.
Еслиэто не COM DLL, тогда вы можете использовать LoadLibrary, чтобы загрузить ее, а затем GetProcAddress, чтобы получить указатель на функцию.Однако, чтобы использовать функцию, вам придется привести возвращенный указатель FARPROC к указателю на функцию соответствующего типа - это не так просто, если вы новичок в такого рода вещах.
Если функцияимя в DLL искажено, что-то вроде? независимо от @@ YAHXZ, тогда это функция C ++, и вам придется использовать тот же компилятор, который использовался для сборки DLL.(Не обязательно, но по большому счету.) Но библиотеки DLL, написанные на C ++, часто экспортируют функции с привязкой к C, так что если вам повезет, вам не придется об этом беспокоиться.
dumpbin.exe / dependents покажет вамсписок других DLL, которые использует ваша DLL.Если вы видите mscoree.dll, то он использует .NET.В этом случае на вашем компьютере пользователя должна быть установлена соответствующая среда .NET.