OSDN Git Service

Update PEM file.
[ffftp/ffftp.git] / option.c
index 4775da8..208efcf 100644 (file)
--- a/option.c
+++ b/option.c
@@ -1,6 +1,6 @@
-/*=============================================================================\r
+/*=============================================================================\r
 *\r
-*                                                              \83I\83v\83V\83\87\83\93\90Ý\92è\r
+*                                                              オプション設定\r
 *\r
 ===============================================================================\r
 / Copyright (C) 1997-2007 Sota. All rights reserved.\r
@@ -28,6 +28,8 @@
 /============================================================================*/\r
 \r
 #define        STRICT\r
+// IPv6対応\r
+#include <winsock2.h>\r
 #include <windows.h>\r
 #include <stdio.h>\r
 #include <stdlib.h>\r
 #include <htmlhelp.h>\r
 #include "helpid.h"\r
 \r
-// UTF-8\91Î\89\9e\r
+// UTF-8対応\r
 #undef __MBSWRAPPER_H__\r
 #include "mbswrapper.h"\r
 \r
 \r
-/*===== \83v\83\8d\83g\83^\83C\83v =====*/\r
-\r
-static BOOL CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+/*===== プロトタイプ =====*/\r
+\r
+// 64ビット対応\r
+//static BOOL CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+// UTF-8対応\r
+static INT_PTR CALLBACK Trmode4SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
 static void AddFnameAttrToListView(HWND hDlg, char *Fname, char *Attr);\r
 static void GetFnameAttrFromListView(HWND hDlg, char *Buf);\r
-static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+// 64ビット対応\r
+// ファイルの属性を数字で表示\r
+//static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK Disp1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK Disp2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
 static int SelectListFont(HWND hWnd, LOGFONT *lFont);\r
-static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static int GetDecimalText(HWND hDlg, int Ctrl);\r
-static void SetDecimalText(HWND hDlg, int Ctrl, int Num);\r
-static void CheckRange2(int *Cur, int Max, int Min);\r
-static void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize);\r
-static void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text);\r
-static void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize);\r
+// 64ビット対応\r
+//static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+// ソフトウェア自動更新\r
+static INT_PTR CALLBACK UpdatesSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+// hostman.cで使用\r
+//static int GetDecimalText(HWND hDlg, int Ctrl);\r
+//static void SetDecimalText(HWND hDlg, int Ctrl, int Num);\r
+//static void CheckRange2(int *Cur, int Max, int Min);\r
+//static void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize);\r
+//static void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text);\r
+//static void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize);\r
+int GetDecimalText(HWND hDlg, int Ctrl);\r
+void SetDecimalText(HWND hDlg, int Ctrl, int Num);\r
+void CheckRange2(int *Cur, int Max, int Min);\r
+void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize);\r
+void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text);\r
+void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize);\r
 \r
 \r
 \r
@@ -83,11 +115,11 @@ typedef struct {
 \r
 \r
 \r
-/*===== \8aO\95\94\8eQ\8fÆ =====*/\r
+/*===== 外部参照 =====*/\r
 \r
 extern HWND hHelpWin;\r
 \r
-/* \90Ý\92è\92l */\r
+/* 設定値 */\r
 extern char UserMailAdrs[USER_MAIL_LEN+1];\r
 extern char ViewerName[VIEWERS][FMAX_PATH+1];\r
 extern int ConnectOnStart;\r
@@ -106,7 +138,7 @@ extern int FwallPort;
 extern int FwallType;\r
 extern int FwallDefault;\r
 extern int FwallSecurity;\r
-extern int FwallResolv;\r
+extern int FwallResolve;\r
 extern int FwallLower;\r
 extern int FwallDelimiter;\r
 extern int PasvDefault;\r
@@ -140,22 +172,48 @@ extern int MirUpDelNotify;
 extern int MirDownDelNotify;\r
 extern int FolderAttr;\r
 extern int FolderAttrNum;\r
-\r
-\r
-/*----- \83I\83v\83V\83\87\83\93\82Ì\83v\83\8d\83p\83e\83B\83V\81[\83g ------------------------------------------\r
+// ファイルアイコン表示対応\r
+extern int DispFileIcon;\r
+// タイムスタンプのバグ修正\r
+extern int DispTimeSeconds;\r
+// ファイルの属性を数字で表示\r
+extern int DispPermissionsNumber;\r
+// ディレクトリ自動作成\r
+extern int MakeAllDir;\r
+// UPnP対応\r
+extern int UPnPEnabled;\r
+// 全設定暗号化対応\r
+extern int EncryptAllSettings;\r
+// ローカル側自動更新\r
+extern int AutoRefreshFileList;\r
+// 古い処理内容を消去\r
+extern int RemoveOldLog;\r
+// ソフトウェア自動更新\r
+extern int AutoCheckForUpdates;\r
+extern int AutoApplyUpdates;\r
+extern int AutoCheckForUptatesInterval;\r
+\r
+\r
+/*----- オプションのプロパティシート ------------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void SetOption(int Start)\r
 {\r
-       PROPSHEETPAGE psp[12];\r
+       // UTF-8対応\r
+//     PROPSHEETPAGE psp[12];\r
+       PROPSHEETPAGE psp[15];\r
        PROPSHEETHEADER psh;\r
 \r
+       // 変数が未初期化のバグ修正\r
+       memset(&psp, 0, sizeof(psp));\r
+       memset(&psh, 0, sizeof(psh));\r
+\r
        psp[0].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[0].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[0].hInstance = GetFtpInst();\r
@@ -196,86 +254,197 @@ void SetOption(int Start)
        psp[3].lParam = 0;\r
        psp[3].pfnCallback = NULL;\r
 \r
+       // UTF-8対応\r
+//     psp[4].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[4].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[4].hInstance = GetFtpInst();\r
+//     psp[4].pszTemplate = MAKEINTRESOURCE(opt_mirror_dlg);\r
+//     psp[4].pszIcon = NULL;\r
+//     psp[4].pfnDlgProc = MirrorSettingProc;\r
+//     psp[4].pszTitle = MSGJPN190;\r
+//     psp[4].lParam = 0;\r
+//     psp[4].pfnCallback = NULL;\r
+\r
+//     psp[5].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[5].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[5].hInstance = GetFtpInst();\r
+//     psp[5].pszTemplate = MAKEINTRESOURCE(opt_notify_dlg);\r
+//     psp[5].pszIcon = NULL;\r
+//     psp[5].pfnDlgProc = NotifySettingProc;\r
+//     psp[5].pszTitle = MSGJPN191;\r
+//     psp[5].lParam = 0;\r
+//     psp[5].pfnCallback = NULL;\r
+\r
+//     psp[6].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[6].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[6].hInstance = GetFtpInst();\r
+//     psp[6].pszTemplate = MAKEINTRESOURCE(opt_disp_dlg);\r
+//     psp[6].pszIcon = NULL;\r
+//     psp[6].pfnDlgProc = DispSettingProc;\r
+//     psp[6].pszTitle = MSGJPN192;\r
+//     psp[6].lParam = 0;\r
+//     psp[6].pfnCallback = NULL;\r
+\r
+//     psp[7].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[7].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[7].hInstance = GetFtpInst();\r
+//     psp[7].pszTemplate = MAKEINTRESOURCE(opt_connect_dlg);\r
+//     psp[7].pszIcon = NULL;\r
+//     psp[7].pfnDlgProc = ConnectSettingProc;\r
+//     psp[7].pszTitle = MSGJPN193;\r
+//     psp[7].lParam = 0;\r
+//     psp[7].pfnCallback = NULL;\r
+\r
+//     psp[8].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[8].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[8].hInstance = GetFtpInst();\r
+//     psp[8].pszTemplate = MAKEINTRESOURCE(opt_fire_dlg);\r
+//     psp[8].pszIcon = NULL;\r
+//     psp[8].pfnDlgProc = FireSettingProc;\r
+//     psp[8].pszTitle = MSGJPN194;\r
+//     psp[8].lParam = 0;\r
+//     psp[8].pfnCallback = NULL;\r
+\r
+//     psp[9].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[9].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[9].hInstance = GetFtpInst();\r
+//     psp[9].pszTemplate = MAKEINTRESOURCE(opt_tool_dlg);\r
+//     psp[9].pszIcon = NULL;\r
+//     psp[9].pfnDlgProc = ToolSettingProc;\r
+//     psp[9].pszTitle = MSGJPN195;\r
+//     psp[9].lParam = 0;\r
+//     psp[9].pfnCallback = NULL;\r
+\r
+//     psp[10].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[10].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[10].hInstance = GetFtpInst();\r
+//     psp[10].pszTemplate = MAKEINTRESOURCE(opt_sound_dlg);\r
+//     psp[10].pszIcon = NULL;\r
+//     psp[10].pfnDlgProc = SoundSettingProc;\r
+//     psp[10].pszTitle = MSGJPN196;\r
+//     psp[10].lParam = 0;\r
+//     psp[10].pfnCallback = NULL;\r
+\r
+//     psp[11].dwSize = sizeof(PROPSHEETPAGE);\r
+//     psp[11].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+//     psp[11].hInstance = GetFtpInst();\r
+//     psp[11].pszTemplate = MAKEINTRESOURCE(opt_misc_dlg);\r
+//     psp[11].pszIcon = NULL;\r
+//     psp[11].pfnDlgProc = MiscSettingProc;\r
+//     psp[11].pszTitle = MSGJPN197;\r
+//     psp[11].lParam = 0;\r
+//     psp[11].pfnCallback = NULL;\r
+\r
        psp[4].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[4].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[4].hInstance = GetFtpInst();\r
-       psp[4].pszTemplate = MAKEINTRESOURCE(opt_mirror_dlg);\r
+       psp[4].pszTemplate = MAKEINTRESOURCE(opt_trmode4_dlg);\r
        psp[4].pszIcon = NULL;\r
-       psp[4].pfnDlgProc = MirrorSettingProc;\r
-       psp[4].pszTitle = MSGJPN190;\r
+       psp[4].pfnDlgProc = Trmode4SettingProc;\r
+       psp[4].pszTitle = MSGJPN339;\r
        psp[4].lParam = 0;\r
        psp[4].pfnCallback = NULL;\r
 \r
        psp[5].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[5].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[5].hInstance = GetFtpInst();\r
-       psp[5].pszTemplate = MAKEINTRESOURCE(opt_notify_dlg);\r
+       psp[5].pszTemplate = MAKEINTRESOURCE(opt_mirror_dlg);\r
        psp[5].pszIcon = NULL;\r
-       psp[5].pfnDlgProc = NotifySettingProc;\r
-       psp[5].pszTitle = MSGJPN191;\r
+       psp[5].pfnDlgProc = MirrorSettingProc;\r
+       psp[5].pszTitle = MSGJPN190;\r
        psp[5].lParam = 0;\r
        psp[5].pfnCallback = NULL;\r
 \r
        psp[6].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[6].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[6].hInstance = GetFtpInst();\r
-       psp[6].pszTemplate = MAKEINTRESOURCE(opt_disp_dlg);\r
+       psp[6].pszTemplate = MAKEINTRESOURCE(opt_notify_dlg);\r
        psp[6].pszIcon = NULL;\r
-       psp[6].pfnDlgProc = DispSettingProc;\r
-       psp[6].pszTitle = MSGJPN192;\r
+       psp[6].pfnDlgProc = NotifySettingProc;\r
+       psp[6].pszTitle = MSGJPN191;\r
        psp[6].lParam = 0;\r
        psp[6].pfnCallback = NULL;\r
 \r
        psp[7].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[7].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[7].hInstance = GetFtpInst();\r
-       psp[7].pszTemplate = MAKEINTRESOURCE(opt_connect_dlg);\r
+       psp[7].pszTemplate = MAKEINTRESOURCE(opt_disp1_dlg);\r
        psp[7].pszIcon = NULL;\r
-       psp[7].pfnDlgProc = ConnectSettingProc;\r
-       psp[7].pszTitle = MSGJPN193;\r
+       psp[7].pfnDlgProc = Disp1SettingProc;\r
+       psp[7].pszTitle = MSGJPN192;\r
        psp[7].lParam = 0;\r
        psp[7].pfnCallback = NULL;\r
 \r
        psp[8].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[8].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[8].hInstance = GetFtpInst();\r
-       psp[8].pszTemplate = MAKEINTRESOURCE(opt_fire_dlg);\r
+       psp[8].pszTemplate = MAKEINTRESOURCE(opt_disp2_dlg);\r
        psp[8].pszIcon = NULL;\r
-       psp[8].pfnDlgProc = FireSettingProc;\r
-       psp[8].pszTitle = MSGJPN194;\r
+       psp[8].pfnDlgProc = Disp2SettingProc;\r
+       psp[8].pszTitle = MSGJPN340;\r
        psp[8].lParam = 0;\r
        psp[8].pfnCallback = NULL;\r
 \r
        psp[9].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[9].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[9].hInstance = GetFtpInst();\r
-       psp[9].pszTemplate = MAKEINTRESOURCE(opt_tool_dlg);\r
+       psp[9].pszTemplate = MAKEINTRESOURCE(opt_connect_dlg);\r
        psp[9].pszIcon = NULL;\r
-       psp[9].pfnDlgProc = ToolSettingProc;\r
-       psp[9].pszTitle = MSGJPN195;\r
+       psp[9].pfnDlgProc = ConnectSettingProc;\r
+       psp[9].pszTitle = MSGJPN193;\r
        psp[9].lParam = 0;\r
        psp[9].pfnCallback = NULL;\r
 \r
        psp[10].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[10].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[10].hInstance = GetFtpInst();\r
-       psp[10].pszTemplate = MAKEINTRESOURCE(opt_sound_dlg);\r
+       psp[10].pszTemplate = MAKEINTRESOURCE(opt_fire_dlg);\r
        psp[10].pszIcon = NULL;\r
-       psp[10].pfnDlgProc = SoundSettingProc;\r
-       psp[10].pszTitle = MSGJPN196;\r
+       psp[10].pfnDlgProc = FireSettingProc;\r
+       psp[10].pszTitle = MSGJPN194;\r
        psp[10].lParam = 0;\r
        psp[10].pfnCallback = NULL;\r
 \r
        psp[11].dwSize = sizeof(PROPSHEETPAGE);\r
        psp[11].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
        psp[11].hInstance = GetFtpInst();\r
-       psp[11].pszTemplate = MAKEINTRESOURCE(opt_misc_dlg);\r
+       psp[11].pszTemplate = MAKEINTRESOURCE(opt_tool_dlg);\r
        psp[11].pszIcon = NULL;\r
-       psp[11].pfnDlgProc = MiscSettingProc;\r
-       psp[11].pszTitle = MSGJPN197;\r
+       psp[11].pfnDlgProc = ToolSettingProc;\r
+       psp[11].pszTitle = MSGJPN195;\r
        psp[11].lParam = 0;\r
        psp[11].pfnCallback = NULL;\r
 \r
+       psp[12].dwSize = sizeof(PROPSHEETPAGE);\r
+       psp[12].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+       psp[12].hInstance = GetFtpInst();\r
+       psp[12].pszTemplate = MAKEINTRESOURCE(opt_sound_dlg);\r
+       psp[12].pszIcon = NULL;\r
+       psp[12].pfnDlgProc = SoundSettingProc;\r
+       psp[12].pszTitle = MSGJPN196;\r
+       psp[12].lParam = 0;\r
+       psp[12].pfnCallback = NULL;\r
+\r
+       psp[13].dwSize = sizeof(PROPSHEETPAGE);\r
+       psp[13].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+       psp[13].hInstance = GetFtpInst();\r
+       psp[13].pszTemplate = MAKEINTRESOURCE(opt_updates_dlg);\r
+       psp[13].pszIcon = NULL;\r
+       psp[13].pfnDlgProc = UpdatesSettingProc;\r
+       psp[13].pszTitle = MSGJPN360;\r
+       psp[13].lParam = 0;\r
+       psp[13].pfnCallback = NULL;\r
+\r
+       psp[14].dwSize = sizeof(PROPSHEETPAGE);\r
+       psp[14].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+       psp[14].hInstance = GetFtpInst();\r
+       psp[14].pszTemplate = MAKEINTRESOURCE(opt_misc_dlg);\r
+       psp[14].pszIcon = NULL;\r
+       psp[14].pfnDlgProc = MiscSettingProc;\r
+       psp[14].pszTitle = MSGJPN197;\r
+       psp[14].lParam = 0;\r
+       psp[14].pfnCallback = NULL;\r
+\r
        psh.dwSize = sizeof(PROPSHEETHEADER);\r
        psh.dwFlags = PSH_HASHELP | PSH_NOAPPLYNOW | PSH_PROPSHEETPAGE;\r
        psh.hwndParent = GetMainHwnd();\r
@@ -292,19 +461,21 @@ void SetOption(int Start)
 }\r
 \r
 \r
-/*----- \83\86\81[\83U\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------------\r
+/*----- ユーザ設定ウインドウのコールバック ------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
 \r
@@ -336,19 +507,21 @@ static BOOL CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
 }\r
 \r
 \r
-/*----- \93]\91\97\90Ý\92è\82P\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------------\r
+/*----- 転送設定1ウインドウのコールバック ------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        int Num;\r
@@ -370,6 +543,8 @@ static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam,
                        SendDlgItemMessage(hDlg, TRMODE_TIME, BM_SETCHECK, SaveTimeStamp, 0);\r
                        SendDlgItemMessage(hDlg, TRMODE_EOF, BM_SETCHECK, RmEOF, 0);\r
                        SendDlgItemMessage(hDlg, TRMODE_SEMICOLON, BM_SETCHECK, VaxSemicolon, 0);\r
+                       // ディレクトリ自動作成\r
+                       SendDlgItemMessage(hDlg, TRMODE_MAKEDIR, BM_SETCHECK, MakeAllDir, 0);\r
 \r
                        SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(TRMODE_EXT_LIST, 0), 0);\r
 \r
@@ -386,6 +561,8 @@ static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam,
                                        SaveTimeStamp = SendDlgItemMessage(hDlg, TRMODE_TIME, BM_GETCHECK, 0, 0);\r
                                        RmEOF = SendDlgItemMessage(hDlg, TRMODE_EOF, BM_GETCHECK, 0, 0);\r
                                        VaxSemicolon = SendDlgItemMessage(hDlg, TRMODE_SEMICOLON, BM_GETCHECK, 0, 0);\r
+                                       // ディレクトリ自動作成\r
+                                       MakeAllDir = SendDlgItemMessage(hDlg, TRMODE_MAKEDIR, BM_GETCHECK, 0, 0);\r
                                        break;\r
 \r
                                case PSN_RESET :\r
@@ -430,19 +607,21 @@ static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam,
 }\r
 \r
 \r
-/*----- \93]\91\97\90Ý\92è\82Q\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------------\r
+/*----- 転送設定2ウインドウのコールバック ------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        char Tmp[FMAX_PATH+1];\r
@@ -505,19 +684,21 @@ static BOOL CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam,
 }\r
 \r
 \r
-/*----- \93]\91\97\90Ý\92è\82R\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------------\r
+/*----- 転送設定3ウインドウのコールバック ------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        LV_COLUMN LvCol;\r
@@ -616,19 +797,64 @@ static BOOL CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam,
 }\r
 \r
 \r
-/*----- \83t\83@\83C\83\8b\91®\90«\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------\r
+// UTF-8対応\r
+static INT_PTR CALLBACK Trmode4SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+{\r
+       NMHDR *pnmhdr;\r
+\r
+       static const RADIOBUTTON KanjiButton[] = {\r
+               { TRMODE4_SJIS_CNV, KANJI_SJIS },\r
+               { TRMODE4_JIS_CNV, KANJI_JIS },\r
+               { TRMODE4_EUC_CNV, KANJI_EUC },\r
+               { TRMODE4_UTF8N_CNV, KANJI_UTF8N },\r
+               { TRMODE4_UTF8BOM_CNV, KANJI_UTF8BOM }\r
+       };\r
+       #define KANJIBUTTONS    (sizeof(KanjiButton)/sizeof(RADIOBUTTON))\r
+\r
+       switch (message)\r
+       {\r
+               case WM_INITDIALOG :\r
+                       SetRadioButtonByValue(hDlg, AskLocalKanjiCode(), KanjiButton, KANJIBUTTONS);\r
+\r
+                   return(TRUE);\r
+\r
+               case WM_NOTIFY:\r
+                       pnmhdr = (NMHDR FAR *)lParam;\r
+                       switch(pnmhdr->code)\r
+                       {\r
+                               case PSN_APPLY :\r
+                                       SetLocalKanjiCodeImm(AskRadioButtonValue(hDlg, KanjiButton, KANJIBUTTONS));\r
+                                       SaveLocalKanjiCode();\r
+                                       break;\r
+\r
+                               case PSN_RESET :\r
+                                       break;\r
+\r
+                               case PSN_HELP :\r
+                                       hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000067);\r
+                                       break;\r
+                       }\r
+                       break;\r
+       }\r
+    return(FALSE);\r
+}\r
+\r
+\r
+/*----- ファイル属性設定ウインドウのコールバック ------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        static ATTRSET *AttrSet;\r
        char Tmp[5];\r
@@ -666,15 +892,15 @@ static BOOL CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPAR
 }\r
 \r
 \r
-/*----- \83t\83@\83C\83\8b\96¼\82Æ\91®\90«\82ð\83\8a\83X\83g\83r\83\85\81[\82É\92Ç\89Á ----------------------------------\r
+/*----- ファイル名と属性をリストビューに追加 ----------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              char *Fname : \83t\83@\83C\83\8b\96¼\r
-*              char *Attr : \91®\90«\r
+*              HWND hDlg : ウインドウハンドル\r
+*              char *Fname : ファイル名\r
+*              char *Attr : 属性\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 static void AddFnameAttrToListView(HWND hDlg, char *Fname, char *Attr)\r
@@ -707,16 +933,16 @@ static void AddFnameAttrToListView(HWND hDlg, char *Fname, char *Attr)
 }\r
 \r
 \r
-/*----- \83\8a\83X\83g\83r\83\85\81[\82Ì\93à\97e\82ð\83}\83\8b\83`\95\8e\9a\97ñ\82É\82·\82é --------------------------------\r
+/*----- リストビューの内容をマルチ文字列にする --------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83_\83C\83A\83\8d\83O\83{\83b\83N\83X\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              int CtrlList : \83\8a\83X\83g\83{\83b\83N\83X\82ÌID\r
-*              char *Buf : \95\8e\9a\97ñ\82ð\83Z\83b\83g\82·\82é\83o\83b\83t\83@\r
-*              int BufSize : \83o\83b\83t\83@\82Ì\83T\83C\83Y\r
+*              HWND hDlg : ダイアログボックスのウインドウハンドル\r
+*              int CtrlList : リストボックスのID\r
+*              char *Buf : 文字列をセットするバッファ\r
+*              int BufSize : バッファのサイズ\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 static void GetFnameAttrFromListView(HWND hDlg, char *Buf)\r
@@ -750,19 +976,21 @@ static void GetFnameAttrFromListView(HWND hDlg, char *Buf)
 }\r
 \r
 \r
-/*----- \83~\83\89\81[\83\8a\83\93\83O\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ----------------------------------\r
+/*----- ミラーリングウインドウのコールバック ----------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        int Num;\r
@@ -831,19 +1059,21 @@ static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, L
 }\r
 \r
 \r
-/*----- \91\80\8dì\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N --------------------------------------\r
+/*----- 操作設定ウインドウのコールバック --------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
 \r
@@ -905,19 +1135,22 @@ static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, L
 }\r
 \r
 \r
-/*----- \95\\8e¦\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N --------------------------------------\r
+/*----- 表示設定ウインドウのコールバック --------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+// ファイルの属性を数字で表示\r
+//static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK Disp1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        static LOGFONT TmpFont;\r
@@ -930,6 +1163,10 @@ static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
                                SendDlgItemMessage(hDlg, DISP_FONT, WM_SETTEXT, 0, (LPARAM)TmpFont.lfFaceName);\r
                        SendDlgItemMessage(hDlg, DISP_HIDE, BM_SETCHECK, DispIgnoreHide, 0);\r
                        SendDlgItemMessage(hDlg, DISP_DRIVE, BM_SETCHECK, DispDrives, 0);\r
+                       // ファイルアイコン表示対応\r
+                       SendDlgItemMessage(hDlg, DISP_ICON, BM_SETCHECK, DispFileIcon, 0);\r
+                       // タイムスタンプのバグ修正\r
+                       SendDlgItemMessage(hDlg, DISP_SECOND, BM_SETCHECK, DispTimeSeconds, 0);\r
                    return(TRUE);\r
 \r
                case WM_NOTIFY:\r
@@ -939,6 +1176,10 @@ static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
                                case PSN_APPLY :\r
                                        DispIgnoreHide = SendDlgItemMessage(hDlg, DISP_HIDE, BM_GETCHECK, 0, 0);\r
                                        DispDrives = SendDlgItemMessage(hDlg, DISP_DRIVE, BM_GETCHECK, 0, 0);\r
+                                       // ファイルアイコン表示対応\r
+                                       DispFileIcon = SendDlgItemMessage(hDlg, DISP_ICON, BM_GETCHECK, 0, 0);\r
+                                       // タイムスタンプのバグ修正\r
+                                       DispTimeSeconds = SendDlgItemMessage(hDlg, DISP_SECOND, BM_GETCHECK, 0, 0);\r
                                        if(strlen(TmpFont.lfFaceName) > 0)\r
                                        {\r
                                                memcpy(&ListLogFont, &TmpFont, sizeof(LOGFONT));\r
@@ -969,18 +1210,56 @@ static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
 }\r
 \r
 \r
-/*----- \83t\83H\83\93\83g\82ð\91I\82Ô --------------------------------------------------------\r
+// ファイルの属性を数字で表示\r
+// ローカル側自動更新\r
+static INT_PTR CALLBACK Disp2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+{\r
+       NMHDR *pnmhdr;\r
+       static LOGFONT TmpFont;\r
+\r
+       switch (message)\r
+       {\r
+               case WM_INITDIALOG :\r
+                       SendDlgItemMessage(hDlg, DISP2_PERMIT_NUM, BM_SETCHECK, DispPermissionsNumber, 0);\r
+                       SendDlgItemMessage(hDlg, DISP2_AUTO_REFRESH, BM_SETCHECK, AutoRefreshFileList, 0);\r
+                       SendDlgItemMessage(hDlg, DISP2_REMOVE_OLD_LOG, BM_SETCHECK, RemoveOldLog, 0);\r
+                   return(TRUE);\r
+\r
+               case WM_NOTIFY:\r
+                       pnmhdr = (NMHDR FAR *)lParam;\r
+                       switch(pnmhdr->code)\r
+                       {\r
+                               case PSN_APPLY :\r
+                                       DispPermissionsNumber = SendDlgItemMessage(hDlg, DISP2_PERMIT_NUM, BM_GETCHECK, 0, 0);\r
+                                       AutoRefreshFileList = SendDlgItemMessage(hDlg, DISP2_AUTO_REFRESH, BM_GETCHECK, 0, 0);\r
+                                       RemoveOldLog = SendDlgItemMessage(hDlg, DISP2_REMOVE_OLD_LOG, BM_GETCHECK, 0, 0);\r
+                                       break;\r
+\r
+                               case PSN_RESET :\r
+                                       break;\r
+\r
+                               case PSN_HELP :\r
+                                       hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000068);\r
+                                       break;\r
+                       }\r
+                       break;\r
+       }\r
+    return(FALSE);\r
+}\r
+\r
+\r
+/*----- フォントを選ぶ --------------------------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hWnd : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              LOGFONT *lFont : \83t\83H\83\93\83g\8fî\95ñ\r
+*              HWND hWnd : ウインドウハンドル\r
+*              LOGFONT *lFont : フォント情報\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Parameter change\r
-*              HFONT *hFont : \83t\83H\83\93\83g\82Ì\83n\83\93\83h\83\8b\r
-*              LOGFONT *lFont : \83t\83H\83\93\83g\8fî\95ñ\r
+*              HFONT *hFont : フォントのハンドル\r
+*              LOGFONT *lFont : フォント情報\r
 *----------------------------------------------------------------------------*/\r
 \r
 static int SelectListFont(HWND hWnd, LOGFONT *lFont)\r
@@ -1003,19 +1282,21 @@ static int SelectListFont(HWND hWnd, LOGFONT *lFont)
 }\r
 \r
 \r
-/*----- \90Ú\91±\81^\90Ø\92f\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N --------------------------------\r
+/*----- 接続/切断設定ウインドウのコールバック --------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
 \r
@@ -1037,6 +1318,8 @@ static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam,
                        SendDlgItemMessage(hDlg, CONNECT_HIST_PASS, BM_SETCHECK, PassToHist, 0);\r
                        SendDlgItemMessage(hDlg, CONNECT_SENDQUIT, BM_SETCHECK, SendQuit, 0);\r
                        SendDlgItemMessage(hDlg, CONNECT_NORAS, BM_SETCHECK, NoRasControl, 0);\r
+                       // UPnP対応\r
+                       SendDlgItemMessage(hDlg, CONNECT_UPNP, BM_SETCHECK, UPnPEnabled, 0);\r
                    return(TRUE);\r
 \r
                case WM_NOTIFY:\r
@@ -1054,6 +1337,9 @@ static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam,
                                        PassToHist = SendDlgItemMessage(hDlg, CONNECT_HIST_PASS, BM_GETCHECK, 0, 0);\r
                                        SendQuit = SendDlgItemMessage(hDlg, CONNECT_SENDQUIT, BM_GETCHECK, 0, 0);\r
                                        NoRasControl = SendDlgItemMessage(hDlg, CONNECT_NORAS, BM_GETCHECK, 0, 0);\r
+                                       // UPnP対応\r
+                                       if(IsUPnPLoaded() == YES)\r
+                                               UPnPEnabled = SendDlgItemMessage(hDlg, CONNECT_UPNP, BM_GETCHECK, 0, 0);\r
                                        break;\r
 \r
                                case PSN_RESET :\r
@@ -1081,19 +1367,21 @@ static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam,
 }\r
 \r
 \r
-/*----- FireWall\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ----------------------------------\r
+/*----- FireWall設定ウインドウのコールバック ----------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        char Tmp[10];\r
@@ -1120,6 +1408,8 @@ static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
        switch (message)\r
        {\r
                case WM_INITDIALOG :\r
+                       // プロセス保護\r
+                       ProtectAllEditControls(hDlg);\r
                        Type = ConvertNum(FwallType, 1, TypeTbl, sizeof(TypeTbl)/sizeof(INTCONVTBL));\r
                        SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN204);\r
                        SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN205);\r
@@ -1148,7 +1438,7 @@ static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
 \r
                        SendDlgItemMessage(hDlg, FIRE_USEIT, BM_SETCHECK, FwallDefault, 0);\r
                        SendDlgItemMessage(hDlg, FIRE_PASV, BM_SETCHECK, PasvDefault, 0);\r
-                       SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_SETCHECK, FwallResolv, 0);\r
+                       SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_SETCHECK, FwallResolve, 0);\r
                        SendDlgItemMessage(hDlg, FIRE_LOWER, BM_SETCHECK, FwallLower, 0);\r
 \r
                        SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_ADDSTRING, 0, (LPARAM)MSGJPN212);\r
@@ -1175,7 +1465,7 @@ static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
                                        FwallDelimiter = Tmp[0];\r
                                        FwallDefault = SendDlgItemMessage(hDlg, FIRE_USEIT, BM_GETCHECK, 0, 0);\r
                                        PasvDefault = SendDlgItemMessage(hDlg, FIRE_PASV, BM_GETCHECK, 0, 0);\r
-                                       FwallResolv = SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_GETCHECK, 0, 0);\r
+                                       FwallResolve = SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_GETCHECK, 0, 0);\r
                                        FwallLower = SendDlgItemMessage(hDlg, FIRE_LOWER, BM_GETCHECK, 0, 0);\r
                                        FwallSecurity = SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_GETCURSEL, 0, 0);\r
                                        break;\r
@@ -1208,19 +1498,21 @@ static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
 }\r
 \r
 \r
-/*----- \83c\81[\83\8b\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------------\r
+/*----- ツール設定ウインドウのコールバック ------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        char Tmp[FMAX_PATH+1];\r
@@ -1287,19 +1579,21 @@ static BOOL CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
 }\r
 \r
 \r
-/*----- \83T\83E\83\93\83h\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ----------------------------------\r
+/*----- サウンド設定ウインドウのコールバック ----------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        char Tmp[FMAX_PATH+1];\r
@@ -1388,19 +1682,21 @@ static BOOL CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LP
 }\r
 \r
 \r
-/*----- \82»\82Ì\91¼\82Ì\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ----------------------------------\r
+/*----- その他の設定ウインドウのコールバック ----------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        NMHDR *pnmhdr;\r
        char Tmp[FMAX_PATH+1];\r
@@ -1411,6 +1707,11 @@ static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
                        SendDlgItemMessage(hDlg, MISC_WINPOS, BM_SETCHECK, SaveWinPos, 0);\r
                        SendDlgItemMessage(hDlg, MISC_DEBUG, BM_SETCHECK, DebugConsole, 0);\r
                        SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_SETCHECK, RegType, 0);\r
+                       // ポータブル版判定\r
+                       if(AskForceIni() == YES)\r
+                               EnableWindow(GetDlgItem(hDlg, MISC_REGTYPE), FALSE);\r
+                       // 全設定暗号化対応\r
+                       SendDlgItemMessage(hDlg, MISC_ENCRYPT_SETTINGS, BM_SETCHECK, EncryptAllSettings, 0);\r
 \r
                        SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_SETCHECK, CacheSave, 0);\r
                        SendDlgItemMessage(hDlg, MISC_BUFNUM, EM_LIMITTEXT, (WPARAM)2, 0);\r
@@ -1440,7 +1741,12 @@ static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
                                case PSN_APPLY :\r
                                        SaveWinPos = SendDlgItemMessage(hDlg, MISC_WINPOS, BM_GETCHECK, 0, 0);\r
                                        DebugConsole = SendDlgItemMessage(hDlg, MISC_DEBUG, BM_GETCHECK, 0, 0);\r
-                                       RegType = SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_GETCHECK, 0, 0);\r
+                                       // ポータブル版判定\r
+//                                     RegType = SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_GETCHECK, 0, 0);\r
+                                       if(AskForceIni() == NO)\r
+                                               RegType = SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_GETCHECK, 0, 0);\r
+                                       // 全設定暗号化対応\r
+                                       EncryptAllSettings = SendDlgItemMessage(hDlg, MISC_ENCRYPT_SETTINGS, BM_GETCHECK, 0, 0);\r
 \r
                                        CacheSave = SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_GETCHECK, 0, 0);\r
                                        CacheEntry = GetDecimalText(hDlg, MISC_BUFNUM);\r
@@ -1481,7 +1787,10 @@ static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
                                        break;\r
 \r
                                case MISC_CACHEDIR_DEF :\r
-                                       GetTempPath(FMAX_PATH, Tmp);\r
+                                       // 環境依存の不具合対策\r
+//                                     GetTempPath(FMAX_PATH, Tmp);\r
+                                       GetAppTempPath(Tmp);\r
+                                       SetYenTail(Tmp);\r
                                        SendDlgItemMessage(hDlg, MISC_CACHEDIR, WM_SETTEXT, 0, (LPARAM)Tmp);\r
                                        break;\r
                        }\r
@@ -1491,13 +1800,13 @@ static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
 }\r
 \r
 \r
-/*----- \83\\81[\83g\90Ý\92è\83E\83C\83\93\83h\83E --------------------------------------------------\r
+/*----- ソート設定ウインドウ --------------------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              int \83X\83e\81[\83^\83X (YES=\8eÀ\8ds/NO=\8eæ\8fÁ)\r
+*              int ステータス (YES=実行/NO=取消)\r
 *----------------------------------------------------------------------------*/\r
 \r
 int SortSetting(void)\r
@@ -1509,19 +1818,21 @@ int SortSetting(void)
 }\r
 \r
 \r
-/*----- \83\\81[\83g\90Ý\92è\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------------\r
+/*----- ソート設定ウインドウのコールバック ------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-*              WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-*              LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+*              HWND hDlg : ウインドウハンドル\r
+*              UINT message : メッセージ番号\r
+*              WPARAM wParam : メッセージの WPARAM 引数\r
+*              LPARAM lParam : メッセージの LPARAM 引数\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        int LFsort;\r
        int LDsort;\r
@@ -1637,17 +1948,89 @@ static BOOL CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPA
 }\r
 \r
 \r
-/*----- \83_\83C\83A\83\8d\83O\82Ì\83R\83\93\83g\83\8d\81[\83\8b\82©\82ç\82P\82O\90i\90\94\82ð\8eæ\93¾ ----------------------------\r
+// ソフトウェア自動更新\r
+static INT_PTR CALLBACK UpdatesSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+{\r
+       NMHDR *pnmhdr;\r
+\r
+       switch (message)\r
+       {\r
+               case WM_INITDIALOG :\r
+                       SendDlgItemMessage(hDlg, UPDATES_AUTO_CHECK, BM_SETCHECK, AutoCheckForUpdates, 0);\r
+                       SendDlgItemMessage(hDlg, UPDATES_AUTO_APPLY, BM_SETCHECK, AutoApplyUpdates, 0);\r
+                       SendDlgItemMessage(hDlg, UPDATES_INTERVAL, EM_LIMITTEXT, (WPARAM)3, 0);\r
+                       SetDecimalText(hDlg, UPDATES_INTERVAL, AutoCheckForUptatesInterval);\r
+                       SendDlgItemMessage(hDlg, UPDATES_INTERVAL_SPN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(999, 0));\r
+                       if(AutoCheckForUpdates == YES)\r
+                       {\r
+                               EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), TRUE);\r
+                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), TRUE);\r
+                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), TRUE);\r
+                       }\r
+                       else\r
+                       {\r
+                               EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), FALSE);\r
+                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), FALSE);\r
+                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), FALSE);\r
+                       }\r
+                   return(TRUE);\r
+\r
+               case WM_NOTIFY:\r
+                       pnmhdr = (NMHDR FAR *)lParam;\r
+                       switch(pnmhdr->code)\r
+                       {\r
+                               case PSN_APPLY :\r
+                                       AutoCheckForUpdates = SendDlgItemMessage(hDlg, UPDATES_AUTO_CHECK, BM_GETCHECK, 0, 0);\r
+                                       AutoApplyUpdates = SendDlgItemMessage(hDlg, UPDATES_AUTO_APPLY, BM_GETCHECK, 0, 0);\r
+                                       AutoCheckForUptatesInterval = GetDecimalText(hDlg, UPDATES_INTERVAL);\r
+                                       CheckRange2(&AutoCheckForUptatesInterval, 999, 0);\r
+                                       break;\r
+\r
+                               case PSN_RESET :\r
+                                       break;\r
+\r
+                               case PSN_HELP :\r
+//                                     hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000069);\r
+                                       break;\r
+                       }\r
+                       break;\r
+\r
+               case WM_COMMAND :\r
+                       switch(GET_WM_COMMAND_ID(wParam, lParam))\r
+                       {\r
+                               case UPDATES_AUTO_CHECK :\r
+                                       if(SendDlgItemMessage(hDlg, UPDATES_AUTO_CHECK, BM_GETCHECK, 0, 0) == 1)\r
+                                       {\r
+                                               EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), TRUE);\r
+                                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), TRUE);\r
+                                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), TRUE);\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), FALSE);\r
+                                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), FALSE);\r
+                                               EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), FALSE);\r
+                                       }\r
+                                       break;\r
+                       }\r
+                       return(TRUE);\r
+       }\r
+    return(FALSE);\r
+}\r
+\r
+/*----- ダイアログのコントロールから10進数を取得 ----------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              int Ctrl : \83R\83\93\83g\83\8d\81[\83\8b\82ÌID\r
+*              HWND hDlg : ウインドウハンドル\r
+*              int Ctrl : コントロールのID\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
-static int GetDecimalText(HWND hDlg, int Ctrl)\r
+// hostman.cで使用\r
+//static int GetDecimalText(HWND hDlg, int Ctrl)\r
+int GetDecimalText(HWND hDlg, int Ctrl)\r
 {\r
        char Tmp[40];\r
 \r
@@ -1656,18 +2039,20 @@ static int GetDecimalText(HWND hDlg, int Ctrl)
 }\r
 \r
 \r
-/*----- \83_\83C\83A\83\8d\83O\82Ì\83R\83\93\83g\83\8d\81[\83\8b\82É\82P\82O\90i\90\94\82ð\83Z\83b\83g ----------------------------\r
+/*----- ダイアログのコントロールに10進数をセット ----------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              int Ctrl : \83R\83\93\83g\83\8d\81[\83\8b\82ÌID\r
-*              int Num : \90\94\92l\r
+*              HWND hDlg : ウインドウハンドル\r
+*              int Ctrl : コントロールのID\r
+*              int Num : 数値\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
-static void SetDecimalText(HWND hDlg, int Ctrl, int Num)\r
+// hostman.cで使用\r
+//static void SetDecimalText(HWND hDlg, int Ctrl, int Num)\r
+void SetDecimalText(HWND hDlg, int Ctrl, int Num)\r
 {\r
        char Tmp[40];\r
 \r
@@ -1677,21 +2062,23 @@ static void SetDecimalText(HWND hDlg, int Ctrl, int Num)
 }\r
 \r
 \r
-/*----- \90Ý\92è\92l\82Ì\94Í\88Í\83`\83F\83b\83N --------------------------------------------------\r
+/*----- 設定値の範囲チェック --------------------------------------------------\r
 *\r
 *      Parameter\r
-*              int *Cur : \90Ý\92è\92l\r
-*              int Max : \8dÅ\91å\92l\r
-*              int Min : \8dÅ\8f¬\92l\r
+*              int *Cur : 設定値\r
+*              int Max : 最大値\r
+*              int Min : 最小値\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Parameter change\r
-*              int *Cur : \90Ý\92è\92l\r
+*              int *Cur : 設定値\r
 *----------------------------------------------------------------------------*/\r
 \r
-static void CheckRange2(int *Cur, int Max, int Min)\r
+// hostman.cで使用\r
+//static void CheckRange2(int *Cur, int Max, int Min)\r
+void CheckRange2(int *Cur, int Max, int Min)\r
 {\r
        if(*Cur < Min)\r
                *Cur = Min;\r
@@ -1701,19 +2088,21 @@ static void CheckRange2(int *Cur, int Max, int Min)
 }\r
 \r
 \r
-/*----- \95\8e\9a\97ñ\82ð\83\8a\83X\83g\83{\83b\83N\83X\82É\92Ç\89Á ------------------------------------------\r
+/*----- 文字列をリストボックスに追加 ------------------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83_\83C\83A\83\8d\83O\83{\83b\83N\83X\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              char *Str : \95\8e\9a\97ñ\r
-*              int CtrlList : \83\8a\83X\83g\83{\83b\83N\83X\82ÌID\r
-*              int BufSize : \83o\83b\83t\83@\83T\83C\83Y\r
+*              HWND hDlg : ダイアログボックスのウインドウハンドル\r
+*              char *Str : 文字列\r
+*              int CtrlList : リストボックスのID\r
+*              int BufSize : バッファサイズ\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
-static void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize)\r
+// hostman.cで使用\r
+//static void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize)\r
+void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize)\r
 {\r
        char Tmp[FMAX_PATH+1];\r
        int Num;\r
@@ -1740,18 +2129,20 @@ static void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize)
 }\r
 \r
 \r
-/*----- \83}\83\8b\83`\95\8e\9a\97ñ\82ð\83\8a\83X\83g\83{\83b\83N\83X\82É\83Z\83b\83g ----------------------------------\r
+/*----- マルチ文字列をリストボックスにセット ----------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83_\83C\83A\83\8d\83O\83{\83b\83N\83X\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              int CtrlList : \83\8a\83X\83g\83{\83b\83N\83X\82ÌID\r
-*              char *Text : \95\8e\9a\97ñ\r
+*              HWND hDlg : ダイアログボックスのウインドウハンドル\r
+*              int CtrlList : リストボックスのID\r
+*              char *Text : 文字列\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
-static void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text)\r
+// hostman.cで使用\r
+//static void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text)\r
+void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text)\r
 {\r
        char *Pos;\r
 \r
@@ -1765,19 +2156,21 @@ static void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text)
 }\r
 \r
 \r
-/*----- \83\8a\83X\83g\83{\83b\83N\83X\82Ì\93à\97e\82ð\83}\83\8b\83`\95\8e\9a\97ñ\82É\82·\82é ------------------------------\r
+/*----- リストボックスの内容をマルチ文字列にする ------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hDlg : \83_\83C\83A\83\8d\83O\83{\83b\83N\83X\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              int CtrlList : \83\8a\83X\83g\83{\83b\83N\83X\82ÌID\r
-*              char *Buf : \95\8e\9a\97ñ\82ð\83Z\83b\83g\82·\82é\83o\83b\83t\83@\r
-*              int BufSize : \83o\83b\83t\83@\82Ì\83T\83C\83Y\r
+*              HWND hDlg : ダイアログボックスのウインドウハンドル\r
+*              int CtrlList : リストボックスのID\r
+*              char *Buf : 文字列をセットするバッファ\r
+*              int BufSize : バッファのサイズ\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
-static void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize)\r
+// hostman.cで使用\r
+//static void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize)\r
+void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize)\r
 {\r
        char Tmp[FMAX_PATH+1];\r
        int Num;\r