45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:动态调用dll函数的方法

动态调用dll函数的方法

2016-08-29 09:48:35 来源:www.45fan.com 【

动态调用dll函数的方法

// 声明
typedef HRESULT (__stdcall *SHGETFOLDERPATHPROC)(
HWND hwndOwner,
int nFolder,
HANDLE hToken,
DWORD dwFlags,
LPTSTR pszPath
);

// 调用
SHGETFOLDERPATHPROC g_pfnSHGetFolderPath=NULL;

HMODULE hModSHFolder = LoadLibrary("shfolder.dll");
if ( hModSHFolder != NULL )
{
(*(FARPROC*)&g_pfnSHGetFolderPath = GetProcAddress(hModSHFolder,"SHGetFolderPathA"));
if (!g_pfnSHGetFolderPath) {
FreeLibrary(hModSHFolder);
TRACE("can't get SHGetFolderPathA Pointer./n");
return 1;
}
}
else
{
g_pfnSHGetFolderPath = NULL;
TRACE("can't load shfolder.dll");
return 1;
}

if(g_pfnSHGetFolderPath(NULL,CSIDL_PROGRAM_FILES|CSIDL_FLAG_CREATE,NULL,SHGFP_TYPE_CURRENT,Buffer)==E_FAIL)
{
TRACE("Can't Find Program File folder.");
FreeLibrary(hModSHFolder);
return 1;
}

FreeLibrary(hModSHFolder);
 

本文地址:http://www.45fan.com/a/question/69156.html
Tags: 动态 函数 DLL
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部