Click here to Skip to main content
       

Managed C++/CLI

 
QuestionWhy c is so important? Pinmemberriceshoots10-Dec-12 4:47 
AnswerRe: Why c is so important? PinmvpRichard MacCutchan10-Dec-12 5:52 
QuestionPlease vote for C++/CLI debug visualizer support PinmemberJohn Schroedl7-Dec-12 4:25 
QuestionHow to use NTGraph3D Activex Control in Visual Studio 2010. PinmemberDhrumilS23-Nov-12 0:47 
AnswerRe: How to use NTGraph3D Activex Control in Visual Studio 2010. PinmvpRichard MacCutchan23-Nov-12 1:44 
Question'J' Character printed on empty fields on dialogs Pinmembercnuis2kool18-Nov-12 22:29 
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 
GeneralRe: c++/cli define new explicit implementation of a sealed method PinmemberJohn Schroedl12-Oct-12 2:34 
GeneralRe: c++/cli define new explicit implementation of a sealed method PinmemberJohn Schroedl12-Oct-12 2:38 
Questionhow can we avoid error D8016 ? Pinmemberlitu kumar8-Oct-12 23:18 
AnswerRe: how can we avoid error D8016 ? PinmvpRichard MacCutchan9-Oct-12 0:18 
GeneralRe: how can we avoid error D8016 ? Pinmemberlitu kumar7-Nov-12 21:49 
GeneralRe: how can we avoid error D8016 ? PinmemberFreak3026-Nov-12 3:11 
QuestionChild dialog shadow remains Pinmembershivareaj5-Oct-12 7:30 
AnswerRe: Child dialog shadow remains PinmvpRichard MacCutchan5-Oct-12 22:35 
GeneralRe: Child dialog shadow remains Pinmembershivareaj6-Oct-12 6:02 
GeneralRe: Child dialog shadow remains PinmvpRichard MacCutchan6-Oct-12 6:07 
GeneralRe: Child dialog shadow remains [modified] Pinmembershivareaj6-Oct-12 17:55 
GeneralRe: Child dialog shadow remains PinmvpRichard MacCutchan6-Oct-12 21:30 
QuestionHow to call manged api from unmanaged code? [modified] Pinmemberlitu kumar4-Oct-12 3:25 
AnswerRe: How to call manged api from unmanaged code? PinmemberRichard Andrew x645-Oct-12 9:30 
GeneralRe: How to call manged api from unmanaged code? Pinmemberlitu kumar15-Oct-12 2:13 
GeneralRe: How to call manged api from unmanaged code? PinmemberRichard Andrew x6415-Oct-12 6:46 
QuestionHow to create CLI Interface to access .net API from C++ code? [modified] Pinmemberlitu kumar3-Oct-12 0:19 
Questionoperato precendance question PinmemberAmrit Agr1-Oct-12 22:04 
AnswerRe: operato precendance question PinmvpRichard MacCutchan2-Oct-12 2:58 

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
Web04 | 2.8.140821.2 | Last Updated 16 Aug 2014
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid