Как я могу получить HINSTANCE от DLL?

Я создал DLL в VC ++ как проект Win32

Функция DLLMAIN

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    return TRUE;
}

Теперь мне нужен HINSTANCE DLL, который должен быть передан к функциям Win32.

HMODULE и HINSTANCE - то же?

Как я могу получить HINSTANCE?

16
задан anand 24 January 2010 в 10:15
поделиться

3 ответа

// create your element
var $el = $("<div>");

// append after input
$("input.link").after( $el );
-121--2762187-

Для такого рода вопросов я настоятельно рекомендую прочитать Руководство разработчиков MobiForge . Там много полезных советов, в том числе как подобрать компрометировать, которые неизбежно возникают в результате мобильного развития.

-121--3181283-

Отрывок из книги Windows Via C/C + + [1]

Примечание Как оказалось, HMODULE и HINSTANCE - это точно то же самое. Если документация для функции указывает, что требуется HMODULE , можно передать HINSTANCE и наоборот. Есть два типа данных, потому что в 16-битном Windows HMODULE с и HINSTANCE с определила разные вещи

[1] Рихтер, Джеффри и Нэсарр, Кристоф, Windows Via C/C ++ , 5-й редактор, Редмонд: Microsoft Press 2008, стр 74

23
ответ дан 30 November 2019 в 17:15
поделиться

Я думаю, что они одинаковы. Если вы хотите хинстанс прогонального процесса (EXE), вам следует использовать

GetModuleHandle(NULL);
4
ответ дан 30 November 2019 в 17:15
поделиться

Вызов GetModuleHandle(NULL) из dll вернет Hinstanc EXE, который запустил DLL; чтобы получить Hinstance для текущей DLL, попробуйте этот совет:

http://www.dotnet247.com/247reference/msgs/13/65259.aspx

1
ответ дан 30 November 2019 в 17:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: