Click here to Skip to main content
       

Managed C++/CLI

 
Questionhow to get programettically a registered DLL's Version information? Pinmemberlitu kumar7-Nov-12 21:32 
AnswerRe: how to get programettically a registered DLL's Version information? PinmvpRichard MacCutchan7-Nov-12 21:43 
GeneralRe: how to get programettically a registered DLL's Version information? Pinmemberlitu kumar7-Nov-12 21:52 
GeneralRe: how to get programettically a registered DLL's Version information? PinmvpRichard MacCutchan8-Nov-12 0:04 
GeneralRe: how to get programettically a registered DLL's Version information? PinmemberH.Brydon1-Jan-13 9:46 
GeneralRe: how to get programettically a registered DLL's Version information? PinmvpRichard MacCutchan1-Jan-13 22:14 
GeneralRe: how to get programettically a registered DLL's Version information? PinmemberH.Brydon2-Jan-13 5:03 
AnswerRe: how to get programettically a registered DLL's Version information? PinmemberH.Brydon1-Jan-13 9:44 
I think you are looking for the DLLVERSIONINFO data. Here is a class that loads a dll and pulls that info from it:
 
class CLoadLibrary
{
public:
	CLoadLibrary(LPCTSTR lpszLibFileName);
	virtual ~CLoadLibrary();
	operator HINSTANCE();
	DWORD GetModuleVersion();
 
protected:
	HINSTANCE m_hLibModule;
};
 

CLoadLibrary::CLoadLibrary(LPCTSTR lpszLibFileName)
{
	m_hLibModule = ::LoadLibrary(lpszLibFileName);
	ASSERT(m_hLibModule != NULL);
}
 
CLoadLibrary::~CLoadLibrary()
{
	::FreeLibrary(m_hLibModule);
}
 
CLoadLibrary::operator HINSTANCE()
{
	return m_hLibModule; // cast operator
}
 
DWORD CLoadLibrary::GetModuleVersion()
{
	typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO*);
 
	DLLGETVERSIONPROC pDllGetVersion =
		(DLLGETVERSIONPROC)::GetProcAddress(*this, _T("DllGetVersion"));
 
	DWORD dwVersion = 0L;
	if (pDllGetVersion != NULL)
	{
		DLLVERSIONINFO dvi;
		ZeroMemory(&dvi, sizeof(dvi));
		dvi.cbSize = sizeof(dvi);
		
		HRESULT hr = (*pDllGetVersion)(&dvi);
		if (SUCCEEDED(hr))
		{
			ASSERT(dvi.dwMajorVersion <= 0xFFFF);
			ASSERT(dvi.dwMinorVersion <= 0xFFFF);
			dwVersion = MAKELONG(dvi.dwMinorVersion, dvi.dwMajorVersion);
		}
	}
	
	return dwVersion;
}
 
Clearly you can simplify it for your needs...
--
Harvey

QuestionHow to use Threadpool of I/O Completion Objects? PinmemberMichael_Tan4-Nov-12 16:10 
QuestionAny C++/CLI Experts wanted to become book author? Pinmembervivekthangaswamy4-Nov-12 16:08 
QuestionConvert 24-bit bmp capture to 8-bit capture in VC++, is it possible? Pinmemberlucky_122129-Oct-12 1:23 
AnswerRe: Convert 24-bit bmp capture to 8-bit capture in VC++, is it possible? Pinmemberjschell29-Oct-12 8:44 
QuestionCurrently i am abel to capture the 24-bit screens capturerin. Pinmemberlucky_122129-Oct-12 1:09 
QuestionCurrently I am using the log4cplu 1.0.2 version, Now i want to use the 1.1.0 version. Pinmemberlucky_122126-Oct-12 2:15 
AnswerRe: Currently I am using the log4cplu 1.0.2 version, Now i want to use the 1.1.0 version. PinmvpRichard MacCutchan26-Oct-12 3:12 
GeneralRe: Currently I am using the log4cplu 1.0.2 version, Now i want to use the 1.1.0 version. Pinmemberlucky_122127-Oct-12 0:52 
GeneralRe: Currently I am using the log4cplu 1.0.2 version, Now i want to use the 1.1.0 version. PinmvpRichard MacCutchan27-Oct-12 3:11 
Questionexceptions PinmemberEmmos201116-Oct-12 5:10 
AnswerRe: exceptions PinmvpRichard MacCutchan16-Oct-12 8:22 
Questionc++/cli define new explicit implementation of a sealed method PinmemberMarius Bancila10-Oct-12 23:21 
AnswerRe: c++/cli define new explicit implementation of a sealed method PinmemberJohn Schroedl11-Oct-12 3:19 
GeneralRe: c++/cli define new explicit implementation of a sealed method PinmemberJohn Schroedl11-Oct-12 3:29 
GeneralRe: c++/cli define new explicit implementation of a sealed method PinmemberMarius Bancila11-Oct-12 10:12 
GeneralRe: c++/cli define new explicit implementation of a sealed method PinmemberJohn Schroedl12-Oct-12 2:29 
GeneralRe: c++/cli define new explicit implementation of a sealed method PinmemberMarius Bancila11-Oct-12 21:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web03 | 2.8.140415.2 | Last Updated 18 Apr 2014
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Use
Layout: fixed | fluid