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

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

?? verinfo.cpp

?? Resource editor base speadrum Chinese mobile
?? CPP
字號:
// VersionInfo.cpp: implementation of the CVerInfo class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "VerInfo.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

#pragma comment(lib, "Version.lib")

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CVerInfo::CVerInfo()
{
	m_pVerInfoBuf = NULL;
	memset(m_szSubBlock, 0, sizeof(m_szSubBlock) );
	::GetModuleFileName(NULL, m_szFileName, sizeof(m_szFileName));
}

CVerInfo::~CVerInfo()
{
	delete []m_pVerInfoBuf;
}

BOOL CVerInfo::Init(LPCTSTR pszFileName /* = NULL */)
{
	if( pszFileName != NULL )
		_tcscpy(m_szFileName, pszFileName);

	DWORD dwHandle = 0;
	DWORD dwVerSize = GetFileVersionInfoSize(m_szFileName, &dwHandle);
	if( dwVerSize == 0 )
	{
		TRACE0("GetFileVersionInfoSize fail!\r\n");
		return FALSE;
	}

	if( m_pVerInfoBuf != NULL )
		delete []m_pVerInfoBuf;

	m_pVerInfoBuf = new BYTE[dwVerSize];
	if( NULL == m_pVerInfoBuf )
		return FALSE;

	if( GetFileVersionInfo(m_szFileName, dwHandle, dwVerSize, m_pVerInfoBuf) == 0 )
	{
		TRACE0("GetFileVersionInfo Fail!\r\n");
		return FALSE;
	}
	
	struct LANGANDCODEPAGE {
		WORD wLanguage;
		WORD wCodePage;
	} * lpTranslate;
	
	lpTranslate = NULL;
	UINT uTranslate = 0;

	int nQueryed = 0;
	nQueryed = VerQueryValue( m_pVerInfoBuf, 
		                      _T("\\VarFileInfo\\Translation"),
		                      (LPVOID*)&lpTranslate,
		                      &uTranslate );
	_ASSERTE( nQueryed > 0 && uTranslate == sizeof(LANGANDCODEPAGE) );

	_stprintf( m_szSubBlock, _T("\\StringFileInfo\\%04x%04x\\"), 
		       lpTranslate->wLanguage,
			   lpTranslate->wCodePage );

	return TRUE;
}

LPCTSTR CVerInfo::GetComments()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szComments[] = _T("Comments");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szComments);

	LPTSTR lpComments = NULL;
	UINT   uLen       = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpComments,
				   &uLen );

	return lpComments;
}

LPCTSTR CVerInfo::GetCompanyName()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szCompanyName[] = _T("CompanyName");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szCompanyName);

	LPTSTR lpszCompanyName = NULL;
	UINT   uLen            = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpszCompanyName,
				   &uLen );

	return lpszCompanyName;
}

LPCTSTR CVerInfo::GetLegalCopyright()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szLegalCopyright[] = _T("LegalCopyright");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szLegalCopyright);

	LPTSTR lpszLegalCopyright = NULL;
	UINT   uLen            = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpszLegalCopyright,
				   &uLen );

	return lpszLegalCopyright;
}

LPCTSTR CVerInfo::GetLegalTrademarks()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szLegalTrademarks[] = _T("LegalTrademarks");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szLegalTrademarks);

	LPTSTR lpszLegalTrademarks = NULL;
	UINT   uLen            = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpszLegalTrademarks,
				   &uLen );

	return lpszLegalTrademarks;
}

LPCTSTR CVerInfo::GetProductName()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szProductName[] = _T("ProductName");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szProductName);

	LPTSTR lpszProductName = NULL;
	UINT   uLen            = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpszProductName,
				   &uLen );

	return lpszProductName;
}

LPCTSTR CVerInfo::GetProductVersion()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szProductVersion[] = _T("ProductVersion");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szProductVersion);

	LPTSTR lpszProductVersion = NULL;
	UINT   uLen            = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpszProductVersion,
				   &uLen );

	return lpszProductVersion;
}

LPCTSTR CVerInfo::GetPrivateBuild()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szPrivateBuild[] = _T("PrivateBuild");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szPrivateBuild);

	LPTSTR lpszPrivateBuild = NULL;
	UINT   uLen            = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpszPrivateBuild,
				   &uLen );

	return lpszPrivateBuild;
}

LPCTSTR CVerInfo::GetSpecialBuild()
{
	_ASSERTE( m_pVerInfoBuf != NULL );

	static const _TCHAR szSpecialBuild[] = _T("SpecialBuild");
	  
	_TCHAR szSubBlock[ 128 ] = { 0 };
	_stprintf(szSubBlock, _T("%s%s"), m_szSubBlock, szSpecialBuild);

	LPTSTR lpszSpecialBuild = NULL;
	UINT   uLen            = 0;
	VerQueryValue( m_pVerInfoBuf,
				   szSubBlock,
				   (LPVOID *)&lpszSpecialBuild,
				   &uLen );

	return lpszSpecialBuild;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品播放一区二区| 一区二区三区在线免费观看| 欧美在线播放高清精品| www.亚洲国产| 国产成人精品一区二区三区网站观看| 夜夜精品视频一区二区| 久久这里只有精品视频网| 在线不卡的av| 精品成人a区在线观看| 一本色道a无线码一区v| 粉嫩高潮美女一区二区三区| 蜜臀久久99精品久久久久宅男| 午夜国产精品一区| 蜜桃视频一区二区三区在线观看| 五月激情丁香一区二区三区| 亚洲免费在线观看视频| 亚洲成av人在线观看| 日韩1区2区日韩1区2区| 久99久精品视频免费观看| 国产一区二区精品久久| proumb性欧美在线观看| 欧美主播一区二区三区| 色丁香久综合在线久综合在线观看| 欧美日韩一区国产| 2020日本不卡一区二区视频| 国产日产亚洲精品系列| 亚洲男同性视频| 亚洲婷婷在线视频| 亚洲永久精品国产| 国产福利91精品一区| 欧美亚洲综合一区| 国产精品美女久久久久久久| 亚洲成av人片在线| 99久久精品国产导航| 欧美成人精品福利| 国产亚洲一区二区在线观看| 国产精品入口麻豆九色| 奇米777欧美一区二区| 色妹子一区二区| 国产精品视频一区二区三区不卡| 视频一区在线视频| 91高清在线观看| 国产精品不卡在线| av中文字幕一区| 国产精品理论在线观看| 风间由美中文字幕在线看视频国产欧美 | 成人激情开心网| 国产午夜精品美女毛片视频| 久久国产精品99久久人人澡| 欧美一区二区观看视频| 石原莉奈在线亚洲二区| 日韩一级片在线播放| 男女视频一区二区| 欧美精品一区二区精品网| 91久久精品网| 久久99精品国产91久久来源| 欧美日韩视频专区在线播放| 亚洲精品一区二区三区香蕉 | 专区另类欧美日韩| 麻豆91小视频| 亚洲主播在线观看| 亚洲欧洲美洲综合色网| 国产资源精品在线观看| 国产亚洲综合av| 在线免费观看日韩欧美| 亚洲成在人线免费| 欧美福利电影网| 精彩视频一区二区| 国产精品日日摸夜夜摸av| 欧美日韩一区精品| 国产成人免费视频网站| 国产精品三级av| 色婷婷av一区| 国产精品一级二级三级| 一区二区激情视频| 久久午夜国产精品| 欧美另类变人与禽xxxxx| 国产精品99久久久久久久女警 | 麻豆精品视频在线观看| 亚洲丝袜美腿综合| 国产日韩精品一区二区浪潮av| 欧美制服丝袜第一页| 国产成人亚洲综合色影视| 五月综合激情日本mⅴ| 国产精品福利在线播放| 精品久久久久久久久久久久久久久| 99久久精品免费看国产 | 风流少妇一区二区| 国产揄拍国内精品对白| 久久综合综合久久综合| 日韩1区2区3区| 午夜视频一区二区三区| 伊人婷婷欧美激情| 亚洲女同女同女同女同女同69| 中文字幕欧美一区| 亚洲最色的网站| 亚洲1区2区3区4区| 免费观看日韩电影| 国内精品不卡在线| 国产不卡视频在线播放| 国精产品一区一区三区mba桃花| 捆绑紧缚一区二区三区视频| 午夜欧美一区二区三区在线播放| 一区二区三区精品久久久| 亚洲高清一区二区三区| 麻豆成人91精品二区三区| 国产成人在线视频播放| 91在线小视频| 欧美大片顶级少妇| 日韩理论电影院| 日本v片在线高清不卡在线观看| 九色|91porny| 欧美亚洲综合一区| 国产欧美精品区一区二区三区| 亚洲免费观看高清完整版在线观看| 18涩涩午夜精品.www| 欧美96一区二区免费视频| 国产69精品久久久久777| 欧美撒尿777hd撒尿| 久久精品无码一区二区三区| 一区二区三区免费观看| 国产精品综合一区二区| 成人免费黄色大片| 69久久夜色精品国产69蝌蚪网| 久久精品免视看| 日韩高清一区在线| 成人一道本在线| 国产亚洲成av人在线观看导航| 视频在线观看一区| 青青草97国产精品免费观看无弹窗版| bt欧美亚洲午夜电影天堂| 久久精品网站免费观看| 国产在线国偷精品免费看| 在线电影院国产精品| 一区二区三区精品在线观看| 国产传媒一区在线| 国产日韩精品视频一区| 国产精品一区二区三区乱码| 欧美日韩中文精品| 亚洲特黄一级片| jlzzjlzz亚洲女人18| 欧美国产日韩一二三区| 成人国产亚洲欧美成人综合网| 久久综合五月天婷婷伊人| 亚洲丶国产丶欧美一区二区三区| 在线看国产一区| 亚洲一区二区三区四区的| 在线看一区二区| 青青草原综合久久大伊人精品| 91麻豆精品国产91久久久使用方法| 日韩成人伦理电影在线观看| 精品久久久久久久久久久院品网| 精品一二三四区| 亚洲视频免费看| 6080yy午夜一二三区久久| 亚洲一区av在线| 久久久不卡网国产精品一区| 国产91精品在线观看| 自拍av一区二区三区| 欧美大胆人体bbbb| 欧美三级韩国三级日本一级| 精品一区二区三区在线播放视频| 亚洲国产精品99久久久久久久久| 99久久精品免费看国产免费软件| 免费日本视频一区| 亚洲女子a中天字幕| 欧美成人猛片aaaaaaa| av在线一区二区三区| 成人午夜在线免费| 天天综合色天天综合色h| 五月综合激情网| 亚洲 欧美综合在线网络| 一区二区中文视频| 久久精品免费在线观看| 欧美精品 国产精品| 欧美在线不卡视频| 在线观看日韩av先锋影音电影院| 国产成人亚洲综合色影视| 成人av综合一区| 国产精品69毛片高清亚洲| 国产在线不卡一区| 精品亚洲porn| 国产高清精品在线| 一区二区三区在线视频播放| 日韩欧美亚洲国产另类| 欧美综合天天夜夜久久| 五月综合激情婷婷六月色窝| 精品国产一区二区三区久久影院 | 91精品国产综合久久婷婷香蕉| aaa亚洲精品一二三区| 99精品欧美一区| 欧美亚洲日本国产| 6080国产精品一区二区| 日韩一区二区三区视频在线 | 精品久久人人做人人爱| 久久日一线二线三线suv| 亚洲欧美日本韩国| 精品欧美一区二区三区精品久久 | 欧美xxxxxxxx| 久久久精品欧美丰满|