这篇教程C++ GetFileVersionInfoSize函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetFileVersionInfoSize函数的典型用法代码示例。如果您正苦于以下问题:C++ GetFileVersionInfoSize函数的具体用法?C++ GetFileVersionInfoSize怎么用?C++ GetFileVersionInfoSize使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetFileVersionInfoSize函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: malloc// Returns the version, as two unsigned longs, of the passed in path.// If there is an error, or the version can't be determined, this will// return null.// It is the callers responsibility to free the return value if it is// non-null.DWORD *getVersion(const char *path) { int handle; int size; if ((size = GetFileVersionInfoSize((char *)path, &handle)) > 0) { void *data; data = malloc(size); if (GetFileVersionInfo((char *)path, 0, size, data)) { VS_FIXEDFILEINFO info; void *infoData; int infoLength; if (VerQueryValue(data, "//", &infoData, &infoLength)) { VS_FIXEDFILEINFO *defaultInfo = (VS_FIXEDFILEINFO *)infoData; unsigned long *retValue = (DWORD *)malloc(sizeof(DWORD) * 2); retValue[0] = defaultInfo->dwFileVersionMS; retValue[1] = defaultInfo->dwFileVersionLS; return retValue; } } } return NULL;}
开发者ID:EricDeCoff,项目名称:Android-KeyStore,代码行数:31,
示例2: GetFileVersionInfoSizeCString CGnucleusDoc::GetVersionInfo(void){ char szAppName[_MAX_PATH]; DWORD dwHandle, dwSize; CString version = "9.9.9.9"; if( GetModuleFileName(AfxGetInstanceHandle(), szAppName, sizeof(szAppName)) ) { dwHandle = 0; dwSize = GetFileVersionInfoSize(szAppName, &dwHandle); if( dwSize != 0L ) { UINT uVerInfoSize; LPVOID lpStr; LPVOID lpVerInfo = new BYTE[dwSize]; if( GetFileVersionInfo(szAppName, NULL, dwSize, lpVerInfo) ) { if( VerQueryValue(lpVerInfo, "//StringFileInfo//040904B0//ProductVersion", &lpStr, &uVerInfoSize) ) version = reinterpret_cast<char *>(lpStr); } delete[] lpVerInfo; } } return version;}
开发者ID:swax,项目名称:Gnucleus,代码行数:27,
示例3: assertvoid FileVersionInfo::_readVersion(){ DWORD dwLen, dwUnUsed; LPTSTR lpVI = NULL; assert(m_file.size() >0); dwLen = GetFileVersionInfoSize(m_file.c_str(), &dwUnUsed); if (dwLen > 0) { lpVI = (LPTSTR) GlobalAlloc(GPTR, dwLen); } if (lpVI != NULL) { VS_FIXEDFILEINFO *lpFfi; wchar_t szBuffer[2048]; UINT uLen = 0; GetFileVersionInfo(m_file.c_str(), NULL, dwLen, lpVI); if (VerQueryValue(lpVI , L"//" , (LPVOID *)&lpFfi , &uLen)) { swprintf_s(szBuffer, L"%d.%d.%d.%d", HIWORD(lpFfi->dwProductVersionMS), LOWORD(lpFfi->dwProductVersionMS), HIWORD(lpFfi->dwProductVersionLS), LOWORD(lpFfi->dwProductVersionLS)); m_version = szBuffer; m_majorVersion = HIWORD(lpFfi->dwProductVersionMS); } GlobalFree((HGLOBAL)lpVI); } g_log.Log(L"FileVersionInfo::ReadVersion. File '%s' version '%s'", (wchar_t*) m_file.c_str(), (wchar_t*) m_version.c_str()); }
开发者ID:NoAntzWk,项目名称:CatalanitzadorPerAWindows,代码行数:35,
示例4: getBtDllFileNameint vmsBtSupport::getBtDllVersion(){ static int ver = -1; if (ver != -1) return ver; CString str = getBtDllFileName ().c_str (); if (GetFileAttributes (str) == DWORD (-1)) return ver = INT_MAX; DWORD dw; DWORD dwSize = GetFileVersionInfoSize (str, &dw); if (dwSize == 0) return ver = 0; LPVOID pvVer = _alloca (dwSize); ZeroMemory (pvVer, dwSize); if (FALSE == GetFileVersionInfo (str, 0, dwSize, pvVer)) return ver = 0; VS_FIXEDFILEINFO *pFileInfo = NULL; UINT u; if (FALSE == VerQueryValue (pvVer, _T ("//"), (LPVOID*)&pFileInfo, &u)) return ver = 0; return ver = pFileInfo->dwFileVersionLS >> 16;}
开发者ID:HackLinux,项目名称:Free-Download-Manager-vs2010,代码行数:27,
示例5: GetFileVersionstatic CComBSTR GetFileVersion(const TCHAR* cszFilePath){ CComBSTR strVersion; TCHAR szFilePath[MAX_PATH]; _tcscpy(szFilePath, cszFilePath); DWORD hVersionInfo; DWORD cbVersionInfo = GetFileVersionInfoSize(szFilePath, &hVersionInfo); if(cbVersionInfo > 0) { char *rgchVersionInfo = new char[cbVersionInfo]; if(GetFileVersionInfo(szFilePath, hVersionInfo, cbVersionInfo, rgchVersionInfo)) { UINT cbFixedFileInfo; VS_FIXEDFILEINFO* pffiFixedFileInfo; if(VerQueryValue(rgchVersionInfo, "//", (void**)&pffiFixedFileInfo, &cbFixedFileInfo)) { int ver_major = HIWORD( pffiFixedFileInfo->dwFileVersionMS ) ; int ver_minor = LOWORD( pffiFixedFileInfo->dwFileVersionMS ) ; int ver_build = HIWORD( pffiFixedFileInfo->dwFileVersionLS ) ; int ver_year = LOWORD( pffiFixedFileInfo->dwFileVersionLS ) ; char szVersion[12 * 4 + 3 + 1]; wsprintf(szVersion, "%d.%d.%d.%d", ver_major, ver_minor, ver_build, ver_year); strVersion = szVersion; } } delete rgchVersionInfo; } return strVersion ;}
开发者ID:pjtpj,项目名称:ImageUpload,代码行数:33,
示例6: GetFileVersionInfoSize |