हाँ आप कर सकते हैं। तुम्हें पता है, GetProcAddress समारोह का उपयोग करना चाहिए DLL में सीधे फ़ंक्शन को कॉल करने, लिब शामिल
प्रक्रियाओं स्पष्ट रूप से एक DLL कॉल GetProcAddress को जोड़ने DLL में एक निर्यात समारोह का पता प्राप्त करने के लिए बिना। आप DLL फ़ंक्शन को कॉल करने के लिए लौटा फ़ंक्शन पॉइंटर का उपयोग करते हैं।
ऊपर के लिंक से उदाहरण के शब्दों में:
typedef UINT (CALLBACK* LPFNDLLFUNC1)(DWORD,UINT);
...
HINSTANCE hDLL; // Handle to DLL
LPFNDLLFUNC1 lpfnDllFunc1; // Function pointer
DWORD dwParam1;
UINT uParam2, uReturnVal;
hDLL = LoadLibrary("MyDLL");
if (hDLL != NULL)
{
lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,
"DLLFunc1");
if (!lpfnDllFunc1)
{
// handle the error
FreeLibrary(hDLL);
return SOME_ERROR_CODE;
}
else
{
// call the function
uReturnVal = lpfnDllFunc1(dwParam1, uParam2);
}
}
स्रोत
2012-07-28 04:23:06
मैं तुम्हें भाई है! सी पृष्ठभूमि में और अधिक से दूर चला जाता है .. – displayname