我創建了一個DLL文件(helloWorld.dll):調用DLL ++文件
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#define DLL_FUNC extern "C" __declspec(dllexport)
DLL_FUNC int __stdcall Hello() {
MessageBox(HWND_DESKTOP, "Hello, world", "MEssage", MB_OK);
return 0;
}
之後,我創建了一個CPP,我想調用(useDLL.cpp)
#include <windows.h>
#include <stdio.h>
int main() {
typedef void (*pfunc)();
HINSTANCE hdll = LoadLibrary("HelloWorld.dll");
pfunc Hello;
Hello = (pfunc)GetProcAddress(hdll, "hello");
Hello();
return 0;
}
如何調用Hello()函數?
請參閱['GetProcAddress()'](http://msdn.microsoft.com/en-gb/library/windows/desktop/ms683212%28v=vs.85%29.aspx)參考頁,有一個例如它。 – hmjd 2013-03-18 17:15:54
使用LoadLibrary是困難的方式 - 如果您不知道該DLL是否存在(或者可能稱爲),則可以使用LoadLibrary。如果你沒有這些特殊需求,有一種簡單的方法可以讓編譯器/鏈接器爲你做所有的工作。 – Elemental 2013-03-18 17:21:00
「HWND_DESKTOP」的用途是什麼? – 2013-03-18 17:25:17