/============================================================================*/\r
\r
#define STRICT\r
+// IPv6対応\r
+#include <winsock2.h>\r
#include <windows.h>\r
#include <stdio.h>\r
#include <stdlib.h>\r
#include <windowsx.h>\r
#include <commctrl.h>\r
#include <stdarg.h>\r
-#include <winsock.h>\r
+// IPv6対応\r
+//#include <winsock.h>\r
\r
#include "common.h"\r
#include "resource.h"\r
extern char ViewerName[VIEWERS][FMAX_PATH+1];\r
extern int TransMode;\r
extern int SortSave;\r
+// UTF-8対応\r
+extern int LocalKanjiCode;\r
\r
/*===== ローカルなワーク =====*/\r
\r
\r
static int SyncMove = NO;\r
\r
-static int HideUI = NO;\r
+// デッドロック対策\r
+//static int HideUI = NO;\r
+static int HideUI = 0;\r
\r
\r
/* 2007/09/21 sunasunamix ここから *********************/\r
{ 20, MENU_L_KNJ_EUC, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 21, MENU_L_KNJ_JIS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 28, MENU_L_KNJ_UTF8N, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
+ { 29, MENU_L_KNJ_UTF8BOM, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 0, 0, TBSTATE_ENABLED, BTNS_SEP, 0, 0 },\r
{ 27, MENU_KNJ_SJIS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 20, MENU_KNJ_EUC, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 21, MENU_KNJ_JIS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 28, MENU_KNJ_UTF8N, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
+ { 29, MENU_KNJ_UTF8BOM, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 22, MENU_KNJ_NONE, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0 },\r
{ 0, 0, TBSTATE_ENABLED, BTNS_SEP, 0, 0 },\r
{ 23, MENU_KANACNV, TBSTATE_ENABLED, TBSTYLE_CHECK, 0, 0 },\r
MENU_HELP, MENU_HELP_TROUBLE, MENU_ABOUT,\r
MENU_REGINIT,\r
MENU_TEXT, MENU_BINARY, MENU_AUTO,\r
- MENU_KNJ_SJIS, MENU_KNJ_EUC, MENU_KNJ_JIS, MENU_KNJ_UTF8N, MENU_KNJ_NONE,\r
- MENU_L_KNJ_SJIS, MENU_L_KNJ_EUC, MENU_L_KNJ_JIS, MENU_L_KNJ_UTF8N,\r
+ MENU_KNJ_SJIS, MENU_KNJ_EUC, MENU_KNJ_JIS, MENU_KNJ_UTF8N, MENU_KNJ_UTF8BOM, MENU_KNJ_NONE,\r
+ MENU_L_KNJ_SJIS, MENU_L_KNJ_EUC, MENU_L_KNJ_JIS, MENU_L_KNJ_UTF8N, MENU_L_KNJ_UTF8BOM,\r
MENU_KANACNV,\r
MENU_LOCAL_UPDIR, MENU_LOCAL_CHDIR,\r
MENU_REMOTE_UPDIR, MENU_REMOTE_CHDIR,\r
char *Pos;\r
int Tmp2;\r
DWORD NoDrives;\r
+ // 高DPI対応\r
+ HBITMAP hOriginal;\r
+ HBITMAP hResized;\r
\r
/*===== メインのツールバー =====*/\r
\r
+ // 高DPI対応\r
+// hWndTbarMain = CreateToolbarEx(\r
+// hWnd,\r
+// WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_TOP | TBSTYLE_FLAT,\r
+// 1,\r
+// 27,\r
+// hInst,\r
+// main_toolbar_bmp,\r
+// TbarDataMain,\r
+// sizeof(TbarDataMain)/sizeof(TBBUTTON),\r
+// 16,16,\r
+// 16,16,\r
+// sizeof(TBBUTTON));\r
+ hOriginal = LoadImage(hInst, MAKEINTRESOURCE(main_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+ if(hOriginal != NULL)\r
+ {\r
+ hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+ DeleteObject(hOriginal);\r
+ }\r
hWndTbarMain = CreateToolbarEx(\r
hWnd,\r
WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_TOP | TBSTYLE_FLAT,\r
1,\r
- 27,\r
- hInst,\r
- main_toolbar_bmp,\r
+ 30,\r
+ NULL,\r
+ (UINT_PTR)hResized,\r
TbarDataMain,\r
sizeof(TbarDataMain)/sizeof(TBBUTTON),\r
- 16,16,\r
- 16,16,\r
+ CalcPixelX(16),CalcPixelY(16),\r
+ CalcPixelX(16),CalcPixelY(16),\r
sizeof(TBBUTTON));\r
+ if(hResized != NULL)\r
+ DeleteObject(hOriginal);\r
+ hResized = NULL;\r
\r
if(hWndTbarMain != NULL)\r
{\r
/* 2007/09/21 sunasunamix ここから *********************/\r
- pOldTbarMainProc = (WNDPROC)SetWindowLong(hWndTbarMain, GWL_WNDPROC, (DWORD)CountermeasureTbarMainProc);\r
+ // 64ビット対応\r
+// pOldTbarMainProc = (WNDPROC)SetWindowLong(hWndTbarMain, GWL_WNDPROC, (DWORD)CountermeasureTbarMainProc);\r
+ pOldTbarMainProc = (WNDPROC)SetWindowLongPtr(hWndTbarMain, GWLP_WNDPROC, (LONG_PTR)CountermeasureTbarMainProc);\r
/********************************************* ここまで */\r
\r
GetClientRect(hWnd, &Rect1);\r
- MoveWindow(hWndTbarMain, 0, 0, Rect1.right, TOOLWIN_HEIGHT, FALSE);\r
+ // 高DPI対応\r
+// MoveWindow(hWndTbarMain, 0, 0, Rect1.right, TOOLWIN_HEIGHT, FALSE);\r
+ MoveWindow(hWndTbarMain, 0, 0, Rect1.right, AskToolWinHeight(), FALSE);\r
}\r
\r
/*===== ローカルのツールバー =====*/\r
\r
+ // 高DPI対応\r
+// hWndTbarLocal = CreateToolbarEx(\r
+// hWnd,\r
+// WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
+// 2,\r
+// 2,\r
+// hInst,\r
+// remote_toolbar_bmp,\r
+// TbarDataLocal,\r
+// sizeof(TbarDataLocal)/sizeof(TBBUTTON),\r
+// 16,16,\r
+// 16,16,\r
+// sizeof(TBBUTTON));\r
+ hOriginal = LoadImage(hInst, MAKEINTRESOURCE(remote_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+ if(hOriginal != NULL)\r
+ {\r
+ hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+ DeleteObject(hOriginal);\r
+ }\r
hWndTbarLocal = CreateToolbarEx(\r
hWnd,\r
WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
2,\r
2,\r
- hInst,\r
- remote_toolbar_bmp,\r
+ NULL,\r
+ (UINT_PTR)hResized,\r
TbarDataLocal,\r
sizeof(TbarDataLocal)/sizeof(TBBUTTON),\r
- 16,16,\r
- 16,16,\r
+ CalcPixelX(16),CalcPixelY(16),\r
+ CalcPixelX(16),CalcPixelY(16),\r
sizeof(TBBUTTON));\r
+ if(hResized != NULL)\r
+ DeleteObject(hOriginal);\r
+ hResized = NULL;\r
\r
if(hWndTbarLocal != NULL)\r
{\r
/* 2007/09/21 sunasunamix ここから *********************/\r
- pOldTbarLocalProc = (WNDPROC)SetWindowLong(hWndTbarLocal, GWL_WNDPROC, (DWORD)CountermeasureTbarLocalProc);\r
+ // 64ビット対応\r
+// pOldTbarLocalProc = (WNDPROC)SetWindowLong(hWndTbarLocal, GWL_WNDPROC, (DWORD)CountermeasureTbarLocalProc);\r
+ pOldTbarLocalProc = (WNDPROC)SetWindowLongPtr(hWndTbarLocal, GWLP_WNDPROC, (LONG_PTR)CountermeasureTbarLocalProc);\r
/********************************************* ここまで */\r
\r
- MoveWindow(hWndTbarLocal, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, FALSE);\r
+ // 高DPI対応\r
+// MoveWindow(hWndTbarLocal, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, FALSE);\r
+ MoveWindow(hWndTbarLocal, 0, AskToolWinHeight(), LocalWidth, AskToolWinHeight(), FALSE);\r
\r
/*===== ローカルのディレクトリ名ウインドウ =====*/\r
\r
SendMessage(hWndTbarLocal, TB_GETITEMRECT, 3, (LPARAM)&Rect1);\r
-#ifndef ENGLISH\r
- DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
-#else\r
- DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
-#endif\r
-\r
+ // UTF-8対応\r
+ // 高DPI対応\r
+//#ifndef FFFTP_ENGLISH\r
+// DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+//#else\r
+// DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+//#endif\r
+ DlgFont = CreateFont(Rect1.bottom-Rect1.top-CalcPixelY(8), 0, 0, 0, 0, FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+\r
+ // 高DPI対応\r
+// hWndDirLocal = CreateWindowEx(WS_EX_CLIENTEDGE,\r
+// "COMBOBOX", "",\r
+// WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL,\r
+// Rect1.right, Rect1.top, LocalWidth - Rect1.right, 200,\r
+// hWndTbarLocal, (HMENU)COMBO_LOCAL, hInst, NULL);\r
hWndDirLocal = CreateWindowEx(WS_EX_CLIENTEDGE,\r
"COMBOBOX", "",\r
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL,\r
- Rect1.right, Rect1.top, LocalWidth - Rect1.right, 200,\r
+ Rect1.right, Rect1.top, LocalWidth - Rect1.right, CalcPixelY(200),\r
hWndTbarLocal, (HMENU)COMBO_LOCAL, hInst, NULL);\r
\r
if(hWndDirLocal != NULL)\r
/* エディットコントロールを探す */\r
hWndDirLocalEdit = GetWindow(hWndDirLocal, GW_CHILD);\r
if(hWndDirLocalEdit != NULL)\r
- HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirLocalEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);\r
+ // 64ビット対応\r
+// HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirLocalEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);\r
+ HistEditBoxProcPtr = (WNDPROC)SetWindowLongPtr(hWndDirLocalEdit, GWLP_WNDPROC, (LONG_PTR)HistEditBoxWndProc);\r
\r
SendMessage(hWndDirLocal, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE, 0));\r
SendMessage(hWndDirLocal, CB_LIMITTEXT, FMAX_PATH, 0);\r
\r
/* ドライブ名をセットしておく */\r
GetLogicalDriveStrings(FMAX_PATH, Tmp);\r
- NoDrives = LoadHideDriveListRegistory();\r
+ NoDrives = LoadHideDriveListRegistry();\r
Pos = Tmp;\r
while(*Pos != NUL)\r
{\r
\r
/*===== ホストのツールバー =====*/\r
\r
+ // 高DPI対応\r
+// hWndTbarRemote = CreateToolbarEx(\r
+// hWnd,\r
+// WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
+// 3,\r
+// 2,\r
+// hInst,\r
+// remote_toolbar_bmp,\r
+// TbarDataRemote,\r
+// sizeof(TbarDataRemote)/sizeof(TBBUTTON),\r
+// 16,16,\r
+// 16,16,\r
+// sizeof(TBBUTTON));\r
+ hOriginal = LoadImage(hInst, MAKEINTRESOURCE(remote_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+ if(hOriginal != NULL)\r
+ {\r
+ hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+ DeleteObject(hOriginal);\r
+ }\r
hWndTbarRemote = CreateToolbarEx(\r
hWnd,\r
WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
3,\r
2,\r
- hInst,\r
- remote_toolbar_bmp,\r
+ NULL,\r
+ (UINT_PTR)hResized,\r
TbarDataRemote,\r
sizeof(TbarDataRemote)/sizeof(TBBUTTON),\r
- 16,16,\r
- 16,16,\r
+ CalcPixelX(16),CalcPixelY(16),\r
+ CalcPixelX(16),CalcPixelY(16),\r
sizeof(TBBUTTON));\r
+ if(hResized != NULL)\r
+ DeleteObject(hOriginal);\r
+ hResized = NULL;\r
\r
if(hWndTbarRemote != NULL)\r
{\r
/* 2007/09/21 sunasunamix ここから *********************/\r
- pOldTbarRemoteProc = (WNDPROC)SetWindowLong(hWndTbarRemote, GWL_WNDPROC, (DWORD)CountermeasureTbarRemoteProc);\r
+ // 64ビット対応\r
+// pOldTbarRemoteProc = (WNDPROC)SetWindowLong(hWndTbarRemote, GWL_WNDPROC, (DWORD)CountermeasureTbarRemoteProc);\r
+ pOldTbarRemoteProc = (WNDPROC)SetWindowLongPtr(hWndTbarRemote, GWLP_WNDPROC, (LONG_PTR)CountermeasureTbarRemoteProc);\r
/********************************************* ここまで */\r
\r
- MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, FALSE);\r
+ // 高DPI対応\r
+// MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, FALSE);\r
+ MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, AskToolWinHeight(), RemoteWidth, AskToolWinHeight(), FALSE);\r
\r
/*===== ホストのディレクトリ名ウインドウ =====*/\r
\r
SendMessage(hWndTbarRemote, TB_GETITEMRECT, 3, (LPARAM)&Rect1);\r
+ // 高DPI対応\r
+// hWndDirRemote = CreateWindowEx(WS_EX_CLIENTEDGE,\r
+// "COMBOBOX", "",\r
+// WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL,\r
+// Rect1.right, Rect1.top, RemoteWidth - Rect1.right, 200,\r
+// hWndTbarRemote, (HMENU)COMBO_REMOTE, hInst, NULL);\r
hWndDirRemote = CreateWindowEx(WS_EX_CLIENTEDGE,\r
"COMBOBOX", "",\r
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL,\r
- Rect1.right, Rect1.top, RemoteWidth - Rect1.right, 200,\r
+ Rect1.right, Rect1.top, RemoteWidth - Rect1.right, CalcPixelY(200),\r
hWndTbarRemote, (HMENU)COMBO_REMOTE, hInst, NULL);\r
\r
if(hWndDirRemote != NULL)\r
/* エディットコントロールを探す */\r
hWndDirRemoteEdit = GetWindow(hWndDirRemote, GW_CHILD);\r
if(hWndDirRemoteEdit != NULL)\r
- HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirRemoteEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);\r
+ // 64ビット対応\r
+// HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirRemoteEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);\r
+ HistEditBoxProcPtr = (WNDPROC)SetWindowLongPtr(hWndDirRemoteEdit, GWLP_WNDPROC, (LONG_PTR)HistEditBoxWndProc);\r
\r
SendMessage(hWndDirRemote, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE, 0));\r
SendMessage(hWndDirRemote, CB_LIMITTEXT, FMAX_PATH, 0);\r
\r
int GetHideUI(void)\r
{\r
- return(HideUI);\r
+ // デッドロック対策\r
+// return(HideUI);\r
+ return (HideUI > 0 ? YES : NO);\r
}\r
\r
\r
int Count;\r
int Win;\r
\r
- if(HideUI == NO)\r
+ // デッドロック対策\r
+// if(HideUI == NO)\r
+ if(HideUI == 0)\r
{\r
hWndMain = GetMainHwnd();\r
hWndFocus = GetFocus();\r
{\r
int i;\r
\r
- HideUI = YES;\r
+ // デッドロック対策\r
+// HideUI = YES;\r
+ HideUI++;\r
\r
for(i = 0; i < sizeof(HideMenus) / sizeof(int); i++)\r
{\r
EnableWindow(hWndDirLocal, FALSE);\r
EnableWindow(hWndDirRemote, FALSE);\r
\r
+ // 特定の操作を行うと異常終了するバグ修正\r
+ EnableWindow(GetLocalHwnd(), FALSE);\r
+ EnableWindow(GetRemoteHwnd(), FALSE);\r
+\r
return;\r
}\r
\r
{\r
int i;\r
\r
- if(HideUI == YES)\r
+ // デッドロック対策\r
+// if(HideUI == YES)\r
+ if(HideUI > 0)\r
+ HideUI--;\r
+ if(HideUI == 0)\r
{\r
for(i = 0; i < sizeof(HideMenus) / sizeof(int); i++)\r
{\r
EnableWindow(hWndDirLocal, TRUE);\r
EnableWindow(hWndDirRemote, TRUE);\r
\r
+ // 特定の操作を行うと異常終了するバグ修正\r
+ EnableWindow(GetLocalHwnd(), TRUE);\r
+ EnableWindow(GetRemoteHwnd(), TRUE);\r
+\r
// 選択不可な漢字コードのボタンが表示されるバグを修正\r
HideHostKanjiButton();\r
HideLocalKanjiButton();\r
\r
- HideUI = NO;\r
+ // バグ修正\r
+// HideUI = NO;\r
\r
MakeButtonsFocus();\r
}\r
\r
int AskUserOpeDisabled(void)\r
{\r
- return(HideUI);\r
+ // デッドロック対策\r
+// return(HideUI);\r
+ return (HideUI > 0 ? YES : NO);\r
}\r
\r
\r
TmpHostKanjiCode = KANJI_UTF8N;\r
break;\r
\r
+ case MENU_KNJ_UTF8BOM :\r
+ TmpHostKanjiCode = KANJI_UTF8BOM;\r
+ break;\r
+\r
default :\r
TmpHostKanjiCode = KANJI_NOCNV;\r
break;\r
SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_UTF8N, MAKELONG(TRUE, 0));\r
break;\r
\r
+ case KANJI_UTF8BOM :\r
+ SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_UTF8BOM, MAKELONG(TRUE, 0));\r
+ break;\r
+\r
default :\r
SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_KNJ_NONE, MAKELONG(TRUE, 0));\r
break;\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_EUC, MAKELONG(FALSE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_JIS, MAKELONG(FALSE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_UTF8N, MAKELONG(FALSE, 0));\r
+ SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_UTF8BOM, MAKELONG(FALSE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_NONE, MAKELONG(FALSE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KANACNV, MAKELONG(FALSE, 0));\r
break;\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_EUC, MAKELONG(TRUE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_JIS, MAKELONG(TRUE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_UTF8N, MAKELONG(TRUE, 0));\r
+ SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_UTF8BOM, MAKELONG(TRUE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KNJ_NONE, MAKELONG(TRUE, 0));\r
// if(TmpHostKanjiCode != KANJI_NOCNV)\r
// SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KANACNV, MAKELONG(TRUE, 0));\r
case MENU_L_KNJ_UTF8N :\r
TmpLocalKanjiCode = KANJI_UTF8N;\r
break;\r
+\r
+ case MENU_L_KNJ_UTF8BOM :\r
+ TmpLocalKanjiCode = KANJI_UTF8BOM;\r
+ break;\r
}\r
DispLocalKanjiCode();\r
HideLocalKanjiButton();\r
case KANJI_UTF8N :\r
SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_L_KNJ_UTF8N, MAKELONG(TRUE, 0));\r
break;\r
+\r
+ case KANJI_UTF8BOM :\r
+ SendMessage(hWndTbarMain, TB_CHECKBUTTON, MENU_L_KNJ_UTF8BOM, MAKELONG(TRUE, 0));\r
+ break;\r
}\r
return;\r
}\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_EUC, MAKELONG(FALSE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_JIS, MAKELONG(FALSE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_UTF8N, MAKELONG(FALSE, 0));\r
+ SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_UTF8BOM, MAKELONG(FALSE, 0));\r
break;\r
\r
default :\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_EUC, MAKELONG(TRUE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_JIS, MAKELONG(TRUE, 0));\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_UTF8N, MAKELONG(TRUE, 0));\r
+ SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_L_KNJ_UTF8BOM, MAKELONG(TRUE, 0));\r
// 現在カナ変換はShift_JIS、JIS、EUC間でのみ機能する\r
SendMessage(hWndTbarMain, TB_ENABLEBUTTON, MENU_KANACNV, MAKELONG(FALSE, 0));\r
switch(TmpHostKanjiCode)\r
return;\r
}\r
\r
+void SaveLocalKanjiCode(void)\r
+{\r
+ LocalKanjiCode = TmpLocalKanjiCode;\r
+ return;\r
+}\r
+\r
\r
/*===================================================\r
* 半角変換モード\r
UINT Flg3;\r
int Count;\r
\r
- if(HideUI == NO)\r
+ // デッドロック対策\r
+// if(HideUI == NO)\r
+ if(HideUI == 0)\r
{\r
Flg1 = 0;\r
if(AskConnecting() == NO)\r
UINT Flg3;\r
int Count;\r
\r
- if(HideUI == NO)\r
+ // デッドロック対策\r
+// if(HideUI == NO)\r
+ if(HideUI == 0)\r
{\r
Flg1 = 0;\r
if(AskConnecting() == NO)\r
AppendMenu(hMenu, MF_STRING | Flg1, MENU_DOWNLOAD_ALL, MSGJPN266);\r
AppendMenu(hMenu, MF_STRING | Flg1 | Flg2, MENU_DELETE, MSGJPN267);\r
AppendMenu(hMenu, MF_STRING | Flg1 | Flg2, MENU_RENAME, MSGJPN268);\r
+#if defined(HAVE_TANDEM)\r
+ /* HP NonStop Server では CHMOD の仕様が異なるため使用不可 */\r
+ if (AskRealHostType() != HTYPE_TANDEM)\r
+#endif\r
AppendMenu(hMenu, MF_STRING | Flg1 | Flg2, MENU_CHMOD, MSGJPN269);\r
AppendMenu(hMenu, MF_STRING | Flg1, MENU_MKDIR, MSGJPN270);\r
AppendMenu(hMenu, MF_STRING | Flg1 | Flg2, MENU_URL_COPY, MSGJPN271);\r
+#if defined(HAVE_TANDEM)\r
+ /* OSS モードのときに表示されるように AskRealHostType() を使用する */\r
+ if (AskRealHostType() == HTYPE_TANDEM)\r
+ AppendMenu(hMenu, MF_STRING | Flg1, MENU_SWITCH_OSS, MSGJPN2001);\r
+#endif\r
+ // 上位のディレクトリへ移動対応\r
+ AppendMenu(hMenu, MF_STRING | Flg1 | Flg2, MENU_REMOTE_MOVE_UPDIR, MSGJPN355);\r
AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);\r
AppendMenu(hMenu, MF_STRING | Flg1, MENU_FILESIZE, MSGJPN272);\r
AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);\r
char Tmp[FMAX_PATH+1];\r
int i;\r
\r
- AppendMenu(hMenu, MF_STRING | Flg, MENU_DCLICK, MSGJPN274);\r
+ // ローカルフォルダを開く\r
+// AppendMenu(hMenu, MF_STRING | Flg, MENU_DCLICK, MSGJPN274);\r
+ AppendMenu(hMenu, MF_STRING | Flg, MENU_OPEN, MSGJPN274);\r
for(i = 0; i < VIEWERS; i++)\r
{\r
if(strlen(ViewerName[i]) != 0)\r
{\r
switch (uMessage) {\r
case WM_DESTROY :\r
- SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarMainProc);\r
+ // 64ビット対応\r
+// SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarMainProc);\r
+ SetWindowLongPtr(hWnd,GWLP_WNDPROC,(LONG_PTR)pOldTbarMainProc);\r
break;\r
case WM_RBUTTONDBLCLK :\r
case WM_RBUTTONDOWN :\r
{\r
switch (uMessage) {\r
case WM_DESTROY :\r
- SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarLocalProc);\r
+ // 64ビット対応\r
+// SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarLocalProc);\r
+ SetWindowLongPtr(hWnd,GWLP_WNDPROC,(LONG_PTR)pOldTbarLocalProc);\r
break;\r
case WM_RBUTTONDBLCLK :\r
case WM_RBUTTONDOWN :\r
{\r
switch (uMessage) {\r
case WM_DESTROY :\r
- SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarRemoteProc);\r
+ // 64ビット対応\r
+// SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarRemoteProc);\r
+ SetWindowLongPtr(hWnd,GWLP_WNDPROC,(LONG_PTR)pOldTbarRemoteProc);\r
break;\r
case WM_RBUTTONDBLCLK :\r
case WM_RBUTTONDOWN :\r