Click here to Skip to main content
13,051,809 members (63,526 online)

Managed C++/CLI

 
Questionhow to get programettically a registered DLL's Version information? Pin
litu kumar7-Nov-12 21:32
memberlitu kumar7-Nov-12 21:32 
AnswerRe: how to get programettically a registered DLL's Version information? Pin
Richard MacCutchan7-Nov-12 21:43
mvpRichard MacCutchan7-Nov-12 21:43 
GeneralRe: how to get programettically a registered DLL's Version information? Pin
litu kumar7-Nov-12 21:52
memberlitu kumar7-Nov-12 21:52 
GeneralRe: how to get programettically a registered DLL's Version information? Pin
Richard MacCutchan8-Nov-12 0:04
mvpRichard MacCutchan8-Nov-12 0:04 
GeneralRe: how to get programettically a registered DLL's Version information? Pin
H.Brydon1-Jan-13 9:46
memberH.Brydon1-Jan-13 9:46 
GeneralRe: how to get programettically a registered DLL's Version information? Pin
Richard MacCutchan1-Jan-13 22:14
mvpRichard MacCutchan1-Jan-13 22:14 
GeneralRe: how to get programettically a registered DLL's Version information? Pin
H.Brydon2-Jan-13 5:03
memberH.Brydon2-Jan-13 5:03 
AnswerRe: how to get programettically a registered DLL's Version information? Pin
H.Brydon1-Jan-13 9:44
memberH.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? Pin
Michael_Tan4-Nov-12 16:10
memberMichael_Tan4-Nov-12 16:10 
QuestionAny C++/CLI Experts wanted to become book author? Pin
vivekthangaswamy4-Nov-12 16:08
membervivekthangaswamy4-Nov-12 16:08 
QuestionConvert 24-bit bmp capture to 8-bit capture in VC++, is it possible? Pin
lucky_122129-Oct-12 1:23
memberlucky_122129-Oct-12 1:23 
AnswerRe: Convert 24-bit bmp capture to 8-bit capture in VC++, is it possible? Pin
jschell29-Oct-12 8:44
memberjschell29-Oct-12 8:44 
QuestionCurrently i am abel to capture the 24-bit screens capturerin. Pin
lucky_122129-Oct-12 1:09
memberlucky_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. Pin
lucky_122126-Oct-12 2:15
memberlucky_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. Pin
Richard MacCutchan26-Oct-12 3:12
mvpRichard 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. Pin
lucky_122127-Oct-12 0:52
memberlucky_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. Pin
Richard MacCutchan27-Oct-12 3:11
mvpRichard MacCutchan27-Oct-12 3:11 
Questionexceptions Pin
Emmos201116-Oct-12 5:10
memberEmmos201116-Oct-12 5:10 
AnswerRe: exceptions Pin
Richard MacCutchan16-Oct-12 8:22
mvpRichard MacCutchan16-Oct-12 8:22 
Questionc++/cli define new explicit implementation of a sealed method Pin
Marius Bancila10-Oct-12 23:21
memberMarius Bancila10-Oct-12 23:21 
AnswerRe: c++/cli define new explicit implementation of a sealed method Pin
John Schroedl11-Oct-12 3:19
memberJohn Schroedl11-Oct-12 3:19 
GeneralRe: c++/cli define new explicit implementation of a sealed method Pin
John Schroedl11-Oct-12 3:29
memberJohn Schroedl11-Oct-12 3:29 
GeneralRe: c++/cli define new explicit implementation of a sealed method Pin
Marius Bancila11-Oct-12 10:12
memberMarius Bancila11-Oct-12 10:12 
GeneralRe: c++/cli define new explicit implementation of a sealed method Pin
John Schroedl12-Oct-12 2:29
memberJohn Schroedl12-Oct-12 2:29 
GeneralRe: c++/cli define new explicit implementation of a sealed method Pin
Marius Bancila11-Oct-12 21:35
memberMarius Bancila11-Oct-12 21:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    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
Web02 | 2.8.170713.1 | Last Updated 19 Jul 2017
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid