ttpmacro.exe 設定ファイル名をUnicode化
- iniファイルパスをUnicode版に入れ替え
- lngファイルパスをUnicode版も準備
- HomeDir (ANSI版) 削除
@@ -41,6 +41,7 @@ | ||
41 | 41 | #include "dlglib.h" |
42 | 42 | #include "dllutil.h" |
43 | 43 | #include "codeconv.h" |
44 | +#include "win32helper.h" | |
44 | 45 | |
45 | 46 | #include "ttm_res.h" |
46 | 47 | #include "ttmmain.h" |
@@ -53,9 +54,9 @@ | ||
53 | 54 | #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) |
54 | 55 | #endif |
55 | 56 | |
57 | +wchar_t *UILanguageFileW; | |
56 | 58 | char UILanguageFile[MAX_PATH]; |
57 | 59 | static wchar_t *SetupFNameW; |
58 | -static char *SetupFName; | |
59 | 60 | static HWND CtrlWnd; |
60 | 61 | static HINSTANCE hInst; |
61 | 62 |
@@ -74,28 +75,23 @@ | ||
74 | 75 | |
75 | 76 | static void init() |
76 | 77 | { |
77 | - char UILanguageFileRel[MAX_PATH]; | |
78 | - LOGFONTA logfont; | |
79 | - | |
80 | 78 | HomeDirW = GetHomeDirW(hInst); |
81 | - char *HomeDirA = ToCharW(HomeDirW); | |
82 | - strcpy_s(HomeDir, sizeof(HomeDir), HomeDirA); | |
83 | - free(HomeDirA); | |
84 | 79 | SetupFNameW = GetDefaultFNameW(HomeDirW, L"TERATERM.INI"); |
85 | - SetupFName = ToCharW(SetupFNameW); | |
86 | - GetPrivateProfileString("Tera Term", "UILanguageFile", "lang\\Default.lng", | |
87 | - UILanguageFileRel, sizeof(UILanguageFileRel), SetupFName); | |
88 | - GetUILanguageFileFull(HomeDir, UILanguageFileRel, | |
89 | - UILanguageFile, sizeof(UILanguageFile)); | |
90 | 80 | |
81 | + wchar_t *UILanguageFileRel; | |
82 | + hGetPrivateProfileStringW(L"Tera Term", L"UILanguageFile", L"lang\\Default.lng", SetupFNameW, &UILanguageFileRel); | |
83 | + UILanguageFileW = GetUILanguageFileFullW(HomeDirW, UILanguageFileRel); | |
84 | + free(UILanguageFileRel); | |
85 | + WideCharToACP_t(UILanguageFileW, UILanguageFile, sizeof(UILanguageFile)); | |
86 | + | |
91 | 87 | DLLInit(); |
92 | 88 | WinCompatInit(); |
93 | 89 | |
94 | 90 | // DPI Aware (高DPI対応) |
95 | 91 | if (pIsValidDpiAwarenessContext != NULL && pSetThreadDpiAwarenessContext != NULL) { |
96 | - char Temp[4]; | |
97 | - GetPrivateProfileString("Tera Term", "DPIAware", NULL, Temp, sizeof(Temp), SetupFName); | |
98 | - if (_stricmp(Temp, "on") == 0) { | |
92 | + wchar_t Temp[4]; | |
93 | + GetPrivateProfileStringW(L"Tera Term", L"DPIAware", NULL, Temp, sizeof(Temp), SetupFNameW); | |
94 | + if (_wcsicmp(Temp, L"on") == 0) { | |
99 | 95 | if (pIsValidDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) == TRUE) { |
100 | 96 | pSetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); |
101 | 97 | } |
@@ -103,9 +99,10 @@ | ||
103 | 99 | } |
104 | 100 | |
105 | 101 | // UILanguageFileの "Tera Term" セクション "DLG_SYSTEM_FONT" のフォントに設定する |
106 | - GetI18nLogfont("Tera Term", "DlgFont", &logfont, 0, SetupFName); | |
102 | + LOGFONTW logfont; | |
103 | + GetI18nLogfontW(L"Tera Term", L"DlgFont", &logfont, 0, SetupFNameW); | |
107 | 104 | SetDialogFont(logfont.lfFaceName, logfont.lfHeight, logfont.lfCharSet, |
108 | - UILanguageFile, "Tera Term", "DLG_SYSTEM_FONT"); | |
105 | + UILanguageFileW, "Tera Term", "DLG_SYSTEM_FONT"); | |
109 | 106 | } |
110 | 107 | |
111 | 108 | // TTMACRO main engine |
@@ -189,6 +186,9 @@ | ||
189 | 186 | delete pCCtrlWindow; |
190 | 187 | pCCtrlWindow = NULL; |
191 | 188 | |
189 | + free(UILanguageFileW); | |
190 | + free(SetupFNameW); | |
191 | + free(HomeDirW); | |
192 | 192 | DLLExit(); |
193 | 193 | return ExitCode; |
194 | 194 | } |
@@ -55,7 +55,6 @@ | ||
55 | 55 | |
56 | 56 | #include "ttmdlg.h" |
57 | 57 | |
58 | -char HomeDir[MAX_PATH]; | |
59 | 58 | wchar_t *HomeDirW; |
60 | 59 | wchar_t FileName[MAX_PATH]; |
61 | 60 | wchar_t TopicName[11]; |
@@ -78,7 +77,7 @@ | ||
78 | 77 | wchar_t *start, *cur, *next; |
79 | 78 | |
80 | 79 | // go home directory |
81 | - _chdir(HomeDir); | |
80 | + SetCurrentDirectoryW(HomeDirW); | |
82 | 81 | |
83 | 82 | // Get command line parameters |
84 | 83 | FileName[0] = 0; |
@@ -190,7 +189,7 @@ | ||
190 | 189 | // 以前読み込んだ .ttl ファイルのパスを記憶できるように、初期ディレクトリを固定にしない。 |
191 | 190 | // (2008.4.7 yutaka) |
192 | 191 | #if 0 |
193 | - FNameRec.lpstrInitialDir = HomeDir; | |
192 | + FNameRec.lpstrInitialDir = HomeDirW; | |
194 | 193 | #endif |
195 | 194 | FNameRec.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; |
196 | 195 | FNameRec.lpstrDefExt = L"TTL"; |
@@ -50,7 +50,6 @@ | ||
50 | 50 | |
51 | 51 | int OpenListDlg(const wchar_t *Text, const wchar_t *Caption, wchar_t **Lists, int Selected); |
52 | 52 | |
53 | -extern char HomeDir[MAX_PATH]; | |
54 | 53 | extern wchar_t *HomeDirW; |
55 | 54 | extern wchar_t FileName[MAX_PATH]; |
56 | 55 | extern wchar_t TopicName[11]; |