亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modulver.cpp

?? 一個類似VC6.0編輯器的界面源代碼
?? CPP
字號:
////////////////////////////////////////////////////////////////
// 1998 Microsoft Systems Journal
// If this code works, it was written by Paul DiLascia.
// If not, I don't know who wrote it.
//
// CModuleVersion provides an easy way to get version info
// for a module.(DLL or EXE).
//
#include "StdAfx.h"
#include "ModulVer.h"

CModuleVersion::CModuleVersion()
{
	m_pVersionInfo = NULL;				// raw version info data 
}

//////////////////
// *** Kirk Stowell - Return the module version.
//
int CModuleVersion::GetModuleVer(CString cs)
{
	DLLVERSIONINFO dvi;
	return DllGetVersion(cs, dvi) ?
		(dvi.dwMajorVersion*100 + dvi.dwMinorVersion) : 0;
}

//////////////////
// Destroy: delete version info
//
CModuleVersion::~CModuleVersion()
{
	delete [] m_pVersionInfo;
}

//////////////////
// Get file version info for a given module
// Allocates storage for all info, fills "this" with
// VS_FIXEDFILEINFO, and sets codepage.
//
BOOL CModuleVersion::GetFileVersionInfo(LPCTSTR modulename)
{
	m_translation.charset = 1252;		// default = ANSI code page
	memset((VS_FIXEDFILEINFO*)this, 0, sizeof(VS_FIXEDFILEINFO));

	// get module handle
	TCHAR filename[_MAX_PATH];
	HMODULE hModule = ::GetModuleHandle(modulename);
	if (hModule==NULL && modulename!=NULL)
		return FALSE;

	// get module file name
	DWORD len = GetModuleFileName(hModule, filename,
		sizeof(filename)/sizeof(filename[0]));
	if (len <= 0)
		return FALSE;

	// read file version info
	DWORD dwDummyHandle; // will always be set to zero
	len = GetFileVersionInfoSize(filename, &dwDummyHandle);
	if (len <= 0)
		return FALSE;

	// delete old, if any
	if (m_pVersionInfo)
		delete m_pVersionInfo;

	m_pVersionInfo = new BYTE[len]; // allocate version info
	if (!::GetFileVersionInfo(filename, 0, len, m_pVersionInfo))
		return FALSE;

	LPVOID lpvi;
	UINT iLen;
	if (!VerQueryValue(m_pVersionInfo, _T("\\"), &lpvi, &iLen))
		return FALSE;

	// copy fixed info to myself, which am derived from VS_FIXEDFILEINFO
	*(VS_FIXEDFILEINFO*)this = *(VS_FIXEDFILEINFO*)lpvi;

	// Get translation info
	if (VerQueryValue(m_pVersionInfo,
		"\\VarFileInfo\\Translation", &lpvi, &iLen) && iLen >= 4) {
		m_translation = *(TRANSLATION*)lpvi;
		TRACE("code page = %d\n", m_translation.charset);
	}

	return dwSignature == VS_FFI_SIGNATURE;
}

//////////////////
// Get string file info.
// Key name is something like "CompanyName".
// returns the value as a CString.
//
CString CModuleVersion::GetValue(LPCTSTR lpKeyName)
{
	CString sVal;
	if (m_pVersionInfo) {

		// To get a string value must pass query in the form
		//
		//    "\StringFileInfo\<langID><codepage>\keyname"
		//
		// where <lang-codepage> is the languageID concatenated with the
		// code page, in hex. Wow.
		//
		CString query;
		query.Format(_T("\\StringFileInfo\\%04x%04x\\%s"),
			m_translation.langID,
			m_translation.charset,
			lpKeyName);

		LPCTSTR pVal;
		UINT iLenVal;
		if (VerQueryValue(m_pVersionInfo, (LPTSTR)(LPCTSTR)query,
				(LPVOID*)&pVal, &iLenVal)) {

			sVal = pVal;
		}
	}
	return sVal;
}

// typedef for DllGetVersion proc
typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO *);

/////////////////
// Get DLL Version by calling DLL's DllGetVersion proc
//
BOOL CModuleVersion::DllGetVersion(LPCTSTR modulename, DLLVERSIONINFO& dvi)
{
	HINSTANCE hinst = LoadLibrary(modulename);
	if (!hinst)
		return FALSE;

	// Must use GetProcAddress because the DLL might not implement 
	// DllGetVersion. Depending upon the DLL, the lack of implementation of the 
	// function may be a version marker in itself.
	//
	DLLGETVERSIONPROC pDllGetVersion =
		(DLLGETVERSIONPROC)GetProcAddress(hinst, _T("DllGetVersion"));

	if (!pDllGetVersion)
		return FALSE;

	memset(&dvi, 0, sizeof(dvi));			 // clear
	dvi.cbSize = sizeof(dvi);				 // set size for Windows

	return SUCCEEDED((*pDllGetVersion)(&dvi));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人一二三区| 欧美丰满高潮xxxx喷水动漫| 国产午夜精品久久久久久免费视 | 亚洲码国产岛国毛片在线| 99国内精品久久| 亚洲精品国产a久久久久久| 色国产精品一区在线观看| 亚洲欧洲成人精品av97| 成人做爰69片免费看网站| 亚洲欧洲三级电影| 欧美亚洲国产一区在线观看网站| 日一区二区三区| 精品国产91久久久久久久妲己| 国产精品一线二线三线| 亚洲人成7777| 91麻豆精品91久久久久同性| 久久97超碰国产精品超碰| 中文字幕精品综合| 91在线免费播放| 免费久久精品视频| 中文字幕在线观看一区二区| 欧美日韩亚洲丝袜制服| 九九久久精品视频| 亚洲色欲色欲www| 日韩一区二区在线观看| 成人99免费视频| 午夜精品一区在线观看| 久久精品人人做| 欧美午夜影院一区| 国产麻豆视频一区| 亚洲高清三级视频| 国产精品三级在线观看| 欧美精选午夜久久久乱码6080| 国产一区二区久久| 亚洲成av人片在www色猫咪| 国产亚洲综合色| 51精品久久久久久久蜜臀| 国v精品久久久网| 日韩电影在线一区| 中文字幕一区二区5566日韩| 欧美一区二区观看视频| 色婷婷久久综合| 国产精品一区在线观看乱码| 天天亚洲美女在线视频| 最好看的中文字幕久久| 精品久久久久久久久久久久久久久久久| av中文字幕亚洲| 国内成人自拍视频| 首页国产欧美久久| 成人欧美一区二区三区白人 | 激情文学综合网| 亚洲成人激情综合网| 国产精品久久久久久久久久久免费看 | 偷拍与自拍一区| 亚洲欧洲日本在线| 国产午夜精品一区二区三区嫩草| 日韩一区二区三区电影在线观看 | 亚洲免费观看高清完整版在线| 久久综合九色综合97婷婷女人 | 欧美第一区第二区| 欧美乱熟臀69xxxxxx| 色综合视频在线观看| 成人在线视频一区| 国产在线一区观看| 久色婷婷小香蕉久久| 视频一区视频二区在线观看| 一区二区三区不卡在线观看| 亚洲色图欧洲色图婷婷| 国产精品无码永久免费888| 久久久电影一区二区三区| 日韩精品一区国产麻豆| 日韩一级二级三级| 8x福利精品第一导航| 91精品久久久久久久久99蜜臂| 欧美三级视频在线| 欧美理论片在线| 欧美精品久久一区二区三区| 欧美人动与zoxxxx乱| 欧美精品久久一区| 欧美一区二区三级| 91精品国产综合久久蜜臀 | 国产美女娇喘av呻吟久久| 看片的网站亚洲| 韩国精品一区二区| 精品一区二区三区视频| 狠狠色丁香久久婷婷综合_中| 久久成人麻豆午夜电影| 国产一区 二区 三区一级| 国产99久久久国产精品免费看| 丁香婷婷综合网| 91视频观看免费| 欧美伦理视频网站| 欧美成人综合网站| 欧美经典一区二区| 亚洲日韩欧美一区二区在线| 亚洲精品免费看| 免费在线欧美视频| 国产乱码精品一区二区三区五月婷| 国产麻豆视频一区二区| 99久久精品免费看| 欧美日韩的一区二区| 日韩女优视频免费观看| 日本一区二区不卡视频| 自拍偷拍国产精品| 日韩黄色片在线观看| 国产一区视频在线看| 91麻豆文化传媒在线观看| 欧美剧在线免费观看网站| ww亚洲ww在线观看国产| 亚洲免费观看高清完整版在线| 五月激情综合色| 风间由美一区二区三区在线观看| 99v久久综合狠狠综合久久| 欧美三级在线看| 国产喂奶挤奶一区二区三区| 亚洲男同性视频| 青青草视频一区| 91丨九色porny丨蝌蚪| 欧美一区二区三区人| 中日韩av电影| 免费成人深夜小野草| 99久久精品一区二区| 日韩亚洲欧美一区二区三区| 国产欧美日韩精品一区| 亚洲成人动漫精品| 国产91露脸合集magnet| 欧美欧美午夜aⅴ在线观看| 欧美极品少妇xxxxⅹ高跟鞋 | 中文字幕亚洲欧美在线不卡| 天天色图综合网| 成人福利视频在线| 欧美一级免费大片| 亚洲欧美另类图片小说| 国产在线播放一区| 欧美日韩国产另类不卡| 日韩美女啊v在线免费观看| 久久国产麻豆精品| 欧美日韩国产经典色站一区二区三区 | 欧美大片在线观看一区二区| 亚洲永久精品国产| 成人一道本在线| 欧美成人一级视频| 日韩激情av在线| 欧美日韩精品一区视频| **网站欧美大片在线观看| 国产真实精品久久二三区| 91麻豆精品国产91久久久更新时间| 亚洲精品第1页| av成人老司机| 国产精品伦理在线| 国产一区二区免费在线| 欧美电影免费观看高清完整版在| 亚洲成人自拍网| 在线视频观看一区| 亚洲色欲色欲www| 成人爱爱电影网址| 国产农村妇女精品| 国产盗摄视频一区二区三区| 精品国免费一区二区三区| 蜜臀久久99精品久久久久宅男 | 国产成人99久久亚洲综合精品| 欧美成人精品1314www| 日本不卡一区二区三区 | 国产呦萝稀缺另类资源| 欧美电影免费观看高清完整版在| 免费欧美日韩国产三级电影| 欧美精品欧美精品系列| 婷婷六月综合亚洲| 欧美一卡二卡在线观看| 日本aⅴ精品一区二区三区| 欧美一区二区在线看| 青青草原综合久久大伊人精品 | 久久夜色精品一区| 麻豆精品视频在线观看| 欧美一级日韩免费不卡| 久久成人免费电影| 国产欧美日韩综合| kk眼镜猥琐国模调教系列一区二区| 国产精品亲子乱子伦xxxx裸| 波多野结衣中文字幕一区二区三区 | 国产69精品久久久久毛片 | 亚洲欧美日韩国产综合| 91麻豆精东视频| 亚洲国产精品久久久久婷婷884 | 国内精品在线播放| 国产欧美一区二区三区网站| 成人免费的视频| 亚洲精品视频观看| 欧美精品九九99久久| 国产一区二区h| 综合激情网...| 欧美性感一区二区三区| 日本va欧美va欧美va精品| 久久久久久久久久久电影| 91在线视频播放地址| 日韩国产高清在线| 国产视频一区二区三区在线观看| 99re热视频精品| 天使萌一区二区三区免费观看| 久久久久久亚洲综合影院红桃|