#include "stdafx.h"\r
#include "about.h"\r
+#include <vector>\r
\r
/////////////////////////////////////////////////////////////////////////////\r
// CAboutDlg dialog used for App About\r
\r
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)\r
{\r
- //{{AFX_DATA_INIT(CAboutDlg)\r
- m_szVersionInformation = _T("");\r
- m_szLegalCopyright = _T("");\r
- //}}AFX_DATA_INIT\r
-\r
- m_szLegalCopyright.Format(_T("Copyright (C) 2001-2006")); // rough\r
-\r
- WORD wMajorVersion = 0;\r
- WORD wMinorVersion = 0;\r
- WORD wBuildVersion = 0;\r
- WORD wRevisionVersion = 0;\r
+ int major, minor, build, revision;\r
+ major = minor = build = revision = 0;\r
\r
TCHAR szFileName[MAX_PATH] = {'\0'};\r
GetModuleFileName(NULL, szFileName, sizeof(szFileName));\r
\r
DWORD dwLen = GetFileVersionInfoSize(szFileName, &dwHandle);\r
if (dwLen) {\r
- LPVOID lpData = new BYTE[dwLen];\r
- if (GetFileVersionInfo(szFileName, dwHandle, dwLen, lpData)) {\r
+ std::vector<BYTE> data(dwLen);\r
+ if (GetFileVersionInfo(szFileName, dwHandle, dwLen, &data[0])) {\r
VS_FIXEDFILEINFO *pInfo;\r
UINT uLen;\r
- if (VerQueryValue(lpData, _T("\\"), (LPVOID *)&pInfo, &uLen)) {\r
- wMajorVersion = (WORD)((pInfo->dwProductVersionMS >> 16) & 0xffff);\r
- wMinorVersion = (WORD)((pInfo->dwProductVersionMS ) & 0xffff);\r
- wBuildVersion = (WORD)((pInfo->dwProductVersionLS >> 16) & 0xffff);\r
- wRevisionVersion = (WORD)((pInfo->dwProductVersionLS ) & 0xffff);\r
- }\r
-\r
- struct Translate {\r
- WORD wLanguage;\r
- WORD wCodePage;\r
- } *lpTranslate = NULL;\r
- UINT cbTranslate = 0;\r
- if (VerQueryValue(lpData, _T("\\VarFileInfo\\Translation"), (LPVOID*)&lpTranslate, &cbTranslate) && sizeof(*lpTranslate) <= cbTranslate) {\r
- LPVOID lpLegalCopyright = NULL;\r
- UINT uLen = 0;\r
- CString SubBlock;\r
-\r
- SubBlock.Format(_T("\\StringFileInfo\\%04x%04x\\LegalCopyright"), lpTranslate->wLanguage, lpTranslate->wCodePage);\r
- if (VerQueryValue(lpData, SubBlock.GetBuffer(SubBlock.GetLength()), (LPVOID *)&lpLegalCopyright, &uLen) && uLen) {\r
- m_szLegalCopyright.Format(_T("%s"), lpLegalCopyright);\r
- }\r
+ if (VerQueryValue(&data[0], _T("\\"), reinterpret_cast<LPVOID *>(&pInfo), &uLen)) {\r
+ major = pInfo->dwProductVersionMS >> 16;\r
+ minor = pInfo->dwProductVersionMS & 0xffff;\r
+ build = pInfo->dwProductVersionLS >> 16;\r
+ revision = pInfo->dwProductVersionLS & 0xffff;\r
}\r
}\r
- delete[] lpData;\r
- lpData = NULL;\r
}\r
-\r
- m_szVersionInformation.Format(_T("%s Version %d.%d"), CString(MAKEINTRESOURCE(AFX_IDS_APP_TITLE)), wMajorVersion, wMinorVersion);\r
-\r
- if (wBuildVersion) {\r
- CString sz;\r
- sz.Format(_T(".%d"), wBuildVersion);\r
- m_szVersionInformation += sz;\r
-\r
- if (wRevisionVersion) {\r
- CString sz;\r
- sz.Format(_T(".%d"), wRevisionVersion);\r
- m_szVersionInformation += sz;\r
+ m_versionInfo.Format(_T("%s Version %d.%d"), CString(MAKEINTRESOURCE(AFX_IDS_APP_TITLE)), major, minor);\r
+ if (build) {\r
+ CString s;\r
+ s.Format(_T(".%d"), build);\r
+ m_versionInfo += s;\r
+ if (revision) {\r
+ s.Format(_T(".%d"), revision);\r
+ m_versionInfo += s;\r
}\r
}\r
}\r
CDialog::DoDataExchange(pDX);\r
//{{AFX_DATA_MAP(CAboutDlg)\r
DDX_Control(pDX, IDC_URL, m_cURL);\r
- DDX_Text(pDX, IDC_VERSION_INFORMATION, m_szVersionInformation);\r
- DDX_Text(pDX, IDC_LEGAL_COPYRIGHT, m_szLegalCopyright);\r
+ DDX_Text(pDX, IDC_VERSION_INFORMATION, m_versionInfo);\r
//}}AFX_DATA_MAP\r
}\r
\r
PUSHBUTTON "\83L\83\83\83\93\83Z\83\8b",IDCANCEL,66,157,50,14\r
END\r
\r
-IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 235, 55\r
+IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 150, 60\r
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
CAPTION "XKeymacs \82Ì\83o\81[\83W\83\87\83\93\8fî\95ñ"\r
FONT 8, "MS Sans Serif"\r
BEGIN\r
- ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20\r
+ ICON IDR_MAINFRAME,IDC_STATIC,10,10,0,0\r
LTEXT "XKeymacs Version x.xx",IDC_VERSION_INFORMATION,40,10,\r
119,8,SS_NOPREFIX\r
- LTEXT "Copyright (C) 2001-200x",IDC_LEGAL_COPYRIGHT,40,25,119,\r
- 8\r
- DEFPUSHBUTTON "OK",IDOK,178,7,50,14,WS_GROUP\r
- LTEXT "http://sourceforge.jp/projects/xkeymacs/",IDC_URL,40,40,148,8,\r
+ LTEXT "http://xkeymacs.sourceforge.jp/",IDC_URL,40,22,140,8,\r
SS_NOTIFY\r
+ DEFPUSHBUTTON "OK",IDOK,50,40,50,14,WS_GROUP\r
END\r
\r
IDD_104KEYBOARD DIALOG DISCARDABLE 0, 0, 362, 303\r
// Dialog\r
//\r
\r
-IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 235, 55\r
+IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 150, 60\r
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
CAPTION "About XKeymacs"\r
FONT 8, "MS Sans Serif"\r
BEGIN\r
- ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20\r
+ ICON IDR_MAINFRAME,IDC_STATIC,10,10,0,0\r
LTEXT "XKeymacs Version x.xx",IDC_VERSION_INFORMATION,40,10,\r
119,8,SS_NOPREFIX\r
- LTEXT "Copyright (C) 2001-200x",IDC_LEGAL_COPYRIGHT,40,25,119,\r
- 8\r
- DEFPUSHBUTTON "OK",IDOK,178,7,50,14,WS_GROUP\r
- LTEXT "http://sourceforge.jp/projects/xkeymacs/",IDC_URL,\r
- 40,40,148,8,SS_NOTIFY\r
+ LTEXT "http://xkeymacs.sourceforge.jp/",IDC_URL,40,22,140,8,\r
+ SS_NOTIFY\r
+ DEFPUSHBUTTON "OK",IDOK,50,40,50,14,WS_GROUP\r
END\r
\r
IDD_OPTIONS DIALOG DISCARDABLE 0, 0, 152, 251\r
VALUE "FileDescription", "XKeymacs MFC Application\0"\r
VALUE "FileVersion", "4, 0, 0, 0\0"\r
VALUE "InternalName", "xkeymacs\0"\r
- VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"\r
+ VALUE "LegalCopyright", "\0"\r
VALUE "LegalTrademarks", "\0"\r
VALUE "OriginalFilename", "xkeymacs.exe\0"\r
VALUE "PrivateBuild", "\0"\r