Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
45
Src/nu/CCVersion.cpp
Normal file
45
Src/nu/CCVersion.cpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
#include "CCVersion.h"
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <shlwapi.h>
|
||||
|
||||
DWORD GetCommCtrlDllVersion(LPCTSTR lpszDllName)
|
||||
{
|
||||
DWORD dwVersion = 0;
|
||||
|
||||
/* In theory, we should limit the search path to only the system folder
|
||||
at this point, I don't care */
|
||||
|
||||
HINSTANCE hinstDll = LoadLibraryW(lpszDllName);
|
||||
|
||||
if(hinstDll)
|
||||
{
|
||||
DLLGETVERSIONPROC pDllGetVersion;
|
||||
pDllGetVersion = (DLLGETVERSIONPROC)GetProcAddress(hinstDll,
|
||||
"DllGetVersion");
|
||||
|
||||
/* Because some DLLs might not implement this function, you
|
||||
must test for it explicitly. Depending on the particular
|
||||
DLL, the lack of a DllGetVersion function can be a useful
|
||||
indicator of the version. */
|
||||
|
||||
if(pDllGetVersion)
|
||||
{
|
||||
DLLVERSIONINFO dvi;
|
||||
HRESULT hr;
|
||||
|
||||
ZeroMemory(&dvi, sizeof(dvi));
|
||||
dvi.cbSize = sizeof(dvi);
|
||||
|
||||
hr = (*pDllGetVersion)(&dvi);
|
||||
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
dwVersion = PACKVERSION(dvi.dwMajorVersion, dvi.dwMinorVersion);
|
||||
}
|
||||
}
|
||||
|
||||
FreeLibrary(hinstDll);
|
||||
}
|
||||
return dwVersion;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue