diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-17 21:41:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-17 21:41:51 +0000 |
commit | 487ca4806cc046076293cf6cc5fbba0db282bac7 (patch) | |
tree | 847b412ab5158dd7bdd7ed7e5a4cc3fbca94be32 /Build/source/texk/windvi/winver.c | |
parent | a3d3111bfe26b8e5f5bc6049dfb2a4ca2edc7881 (diff) |
texk 1
git-svn-id: svn://tug.org/texlive/trunk@1485 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/windvi/winver.c')
-rw-r--r-- | Build/source/texk/windvi/winver.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Build/source/texk/windvi/winver.c b/Build/source/texk/windvi/winver.c new file mode 100644 index 00000000000..9547a9ecb78 --- /dev/null +++ b/Build/source/texk/windvi/winver.c @@ -0,0 +1,46 @@ +#include "wingui.h" +#include "xdvi-config.h" + +/* + Displays a dialog box with version information +*/ +void DispVersion() +{ + char szFullPath[256]; + DWORD dwVerHnd; + DWORD dwVerInfoSize; + char szBuf[256]; + extern HWND hWndMain; + extern HINSTANCE hInst; + GetModuleFileName(hInst, szFullPath, sizeof(szFullPath)); + dwVerInfoSize = GetFileVersionInfoSize(szFullPath, &dwVerHnd); + if (dwVerInfoSize) { + /* If we were able to get the information, process it: */ + HANDLE hMem; + LPVOID lpvMem; + char szGetName[256]; + int cchRoot; + BOOL fRet; + UINT cchVer = 0; + LPSTR lszVer = NULL; + + hMem = GlobalAlloc(GMEM_MOVEABLE, dwVerInfoSize); + lpvMem = GlobalLock(hMem); + GetFileVersionInfo(szFullPath, dwVerHnd, dwVerInfoSize, lpvMem); + lstrcpy(szGetName, "\\StringFileInfo\\040904E4\\ProductVersion"); + cchRoot = lstrlen(szGetName); + fRet = VerQueryValue(lpvMem, szGetName, &lszVer, &cchVer); + if (fRet && cchVer && lszVer) { + wsprintf(szBuf, "(o)windvi %s", lszVer); + } + else { + wsprintf(szBuf, "Failed to get product version number."); + } + } + else { + wsprintf(szBuf, "Failed to get version information."); + } + MessageBox(NULL, szBuf, + "Version Information", MB_APPLMODAL | MB_ICONHAND | MB_OK); + CleanExit(0); +} |