返回首页

我工作的几个MFC应用程序,我希望他们在标题栏显示自己FILEVERSION信息。我已经看到了如何从其他应用程序的DLL资源FILEVERSION信息的文章,但我想在我的情况下,应用程序显示自身FILEVERSION信息。如何才能做到在MFC应用程序吗?

回答

评论会员:查克・奥图尔 时间:2012/02/06
假设你有你的形象完整的文件规范

CString FileHelper::GetFileVersionString(CString FileName)

{

	DWORD dwHandle, dwLen;

	CString v = "0.0.0";

	if ((dwLen = GetFileVersionInfoSize((LPCTSTR)FileName, &dwHandle)) != 0)

	{

		LPTSTR lpData = (LPTSTR)malloc(dwLen);

		if (GetFileVersionInfo((LPCTSTR)FileName, dwHandle, dwLen, lpData) != 0)

		{

			UINT BufLen;

			VS_FIXEDFILEINFO *pFileInfo;

			if (VerQueryValue(lpData, "\\", (LPVOID *)&pFileInfo, (PUINT)&BufLen) != 0)

			{

				if (LOWORD(pFileInfo->dwFileVersionLS) == 0)

					v.Format("%d.%d.%d", HIWORD(pFileInfo->dwFileVersionMS), LOWORD(pFileInfo->dwFileVersionMS), HIWORD(pFileInfo->dwFileVersionLS));

				else

					v.Format("%d.%d.%d.%d", HIWORD(pFileInfo->dwFileVersionMS), LOWORD(pFileInfo->dwFileVersionMS), HIWORD(pFileInfo->dwFileVersionLS), LOWORD(pFileInfo->dwFileVersionLS));

			}

		}

		free(lpData);

	}

	return v;

}

评论会员:游客 时间:2012/02/06
安德烈Kraak:本CP文章A0}]你想要做什么