• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

FFFTPのソースコードです。


Commit MetaInfo

Revisão619b82a7a7f0c24da339c76ef9a102960ce928b0 (tree)
Hora2011-11-29 21:54:03
Autors_kawamoto <s_kawamoto@user...>
Commiters_kawamoto

Mensagem de Log

Change the character code of windows into UTF-16 completely.
Add support for 64 bit Windows.

Mudança Sumário

Diff

Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
--- a/filelist.c
+++ b/filelist.c
@@ -185,7 +185,9 @@ int MakeListWin(HWND hWnd, HINSTANCE hInst)
185185
186186 if(hWndListLocal != NULL)
187187 {
188- LocalProcPtr = (WNDPROC)SetWindowLong(hWndListLocal, GWL_WNDPROC, (LONG)LocalWndProc);
188+ // 64ビット対応
189+// LocalProcPtr = (WNDPROC)SetWindowLong(hWndListLocal, GWL_WNDPROC, (LONG)LocalWndProc);
190+ LocalProcPtr = (WNDPROC)SetWindowLongPtr(hWndListLocal, GWL_WNDPROC, (LONG_PTR)LocalWndProc);
189191
190192 Tmp = SendMessage(hWndListLocal, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
191193 Tmp |= LVS_EX_FULLROWSELECT;
@@ -234,7 +236,9 @@ int MakeListWin(HWND hWnd, HINSTANCE hInst)
234236
235237 if(hWndListRemote != NULL)
236238 {
237- RemoteProcPtr = (WNDPROC)SetWindowLong(hWndListRemote, GWL_WNDPROC, (LONG)RemoteWndProc);
239+ // 64ビット対応
240+// RemoteProcPtr = (WNDPROC)SetWindowLong(hWndListRemote, GWL_WNDPROC, (LONG)RemoteWndProc);
241+ RemoteProcPtr = (WNDPROC)SetWindowLongPtr(hWndListRemote, GWL_WNDPROC, (LONG_PTR)RemoteWndProc);
238242
239243 Tmp = SendMessage(hWndListRemote, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
240244 Tmp |= LVS_EX_FULLROWSELECT;
@@ -1123,32 +1127,50 @@ void GetListTabWidth(void)
11231127
11241128 void SetListViewType(void)
11251129 {
1126- long lStyle;
1130+ // 64ビット対応
1131+// long lStyle;
1132+ LONG_PTR lStyle;
11271133
11281134 switch(ListType)
11291135 {
11301136 case LVS_LIST :
1131- lStyle = GetWindowLong(GetLocalHwnd(), GWL_STYLE);
1137+ // 64ビット対応
1138+// lStyle = GetWindowLong(GetLocalHwnd(), GWL_STYLE);
1139+ lStyle = GetWindowLongPtr(GetLocalHwnd(), GWL_STYLE);
11321140 lStyle &= ~(LVS_REPORT | LVS_LIST);
11331141 lStyle |= LVS_LIST;
1134- SetWindowLong(GetLocalHwnd(), GWL_STYLE, lStyle);
1142+ // 64ビット対応
1143+// SetWindowLong(GetLocalHwnd(), GWL_STYLE, lStyle);
1144+ SetWindowLongPtr(GetLocalHwnd(), GWL_STYLE, lStyle);
11351145
1136- lStyle = GetWindowLong(GetRemoteHwnd(), GWL_STYLE);
1146+ // 64ビット対応
1147+// lStyle = GetWindowLong(GetRemoteHwnd(), GWL_STYLE);
1148+ lStyle = GetWindowLongPtr(GetRemoteHwnd(), GWL_STYLE);
11371149 lStyle &= ~(LVS_REPORT | LVS_LIST);
11381150 lStyle |= LVS_LIST;
1139- SetWindowLong(GetRemoteHwnd(), GWL_STYLE, lStyle);
1151+ // 64ビット対応
1152+// SetWindowLong(GetRemoteHwnd(), GWL_STYLE, lStyle);
1153+ SetWindowLongPtr(GetRemoteHwnd(), GWL_STYLE, lStyle);
11401154 break;
11411155
11421156 default :
1143- lStyle = GetWindowLong(GetLocalHwnd(), GWL_STYLE);
1157+ // 64ビット対応
1158+// lStyle = GetWindowLong(GetLocalHwnd(), GWL_STYLE);
1159+ lStyle = GetWindowLongPtr(GetLocalHwnd(), GWL_STYLE);
11441160 lStyle &= ~(LVS_REPORT | LVS_LIST);
11451161 lStyle |= LVS_REPORT;
1146- SetWindowLong(GetLocalHwnd(), GWL_STYLE, lStyle);
1162+ // 64ビット対応
1163+// SetWindowLong(GetLocalHwnd(), GWL_STYLE, lStyle);
1164+ SetWindowLongPtr(GetLocalHwnd(), GWL_STYLE, lStyle);
11471165
1148- lStyle = GetWindowLong(GetRemoteHwnd(), GWL_STYLE);
1166+ // 64ビット対応
1167+// lStyle = GetWindowLong(GetRemoteHwnd(), GWL_STYLE);
1168+ lStyle = GetWindowLongPtr(GetRemoteHwnd(), GWL_STYLE);
11491169 lStyle &= ~(LVS_REPORT | LVS_LIST);
11501170 lStyle |= LVS_REPORT;
1151- SetWindowLong(GetRemoteHwnd(), GWL_STYLE, lStyle);
1171+ // 64ビット対応
1172+// SetWindowLong(GetRemoteHwnd(), GWL_STYLE, lStyle);
1173+ SetWindowLongPtr(GetRemoteHwnd(), GWL_STYLE, lStyle);
11521174 break;
11531175 }
11541176 return;
--- a/getput.c
+++ b/getput.c
@@ -3639,7 +3639,9 @@ static LRESULT CALLBACK TransDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM
36393639 /* ここに break はない */
36403640
36413641 case IDCANCEL :
3642- if(!(Pkt = (TRANSPACKET*)GetWindowLong(hDlg, GWL_USERDATA)))
3642+ // 64ビット対応
3643+// if(!(Pkt = (TRANSPACKET*)GetWindowLong(hDlg, GWL_USERDATA)))
3644+ if(!(Pkt = (TRANSPACKET*)GetWindowLongPtr(hDlg, GWL_USERDATA)))
36433645 break;
36443646 Pkt->Abort = ABORT_USER;
36453647 // Canceled = YES;
@@ -3655,7 +3657,9 @@ static LRESULT CALLBACK TransDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM
36553657 SetForegroundWindow(hDlg);
36563658 MoveToForeground = NO;
36573659 KillTimer(hDlg, TIMER_DISPLAY);
3658- if(!(Pkt = (TRANSPACKET*)GetWindowLong(hDlg, GWL_USERDATA)))
3660+ // 64ビット対応
3661+// if(!(Pkt = (TRANSPACKET*)GetWindowLong(hDlg, GWL_USERDATA)))
3662+ if(!(Pkt = (TRANSPACKET*)GetWindowLongPtr(hDlg, GWL_USERDATA)))
36593663 break;
36603664 if(Canceled[Pkt->ThreadCount] == YES)
36613665 Pkt->Abort = ABORT_USER;
@@ -3666,7 +3670,9 @@ static LRESULT CALLBACK TransDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM
36663670
36673671 case WM_SET_PACKET :
36683672 // Pkt = (TRANSPACKET *)lParam;
3669- SetWindowLong(hDlg, GWL_USERDATA, (LONG)lParam);
3673+ // 64ビット対応
3674+// SetWindowLong(hDlg, GWL_USERDATA, (LONG)lParam);
3675+ SetWindowLongPtr(hDlg, GWL_USERDATA, (LONG_PTR)lParam);
36703676 break;
36713677 }
36723678 return(FALSE);
--- a/hostman.c
+++ b/hostman.c
@@ -163,7 +163,9 @@ static BOOL CALLBACK SelectHostProc(HWND hDlg, UINT message, WPARAM wParam, LPAR
163163 {
164164 case WM_INITDIALOG :
165165 /* TreeViewでのダブルクリックをつかまえるため */
166- HostListProcPtr = (WNDPROC)SetWindowLong(GetDlgItem(hDlg, HOST_LIST), GWL_WNDPROC, (LONG)HostListWndProc);
166+ // 64ビット対応
167+// HostListProcPtr = (WNDPROC)SetWindowLong(GetDlgItem(hDlg, HOST_LIST), GWL_WNDPROC, (LONG)HostListWndProc);
168+ HostListProcPtr = (WNDPROC)SetWindowLongPtr(GetDlgItem(hDlg, HOST_LIST), GWL_WNDPROC, (LONG_PTR)HostListWndProc);
167169
168170
169171 // SetClassLong(hDlg, GCL_HICON, (LONG)LoadIcon(GetFtpInst(), MAKEINTRESOURCE(ffftp)));
@@ -1669,7 +1671,9 @@ static int DispHostSetDlg(HWND hDlg)
16691671
16701672 static BOOL CALLBACK MainSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)
16711673 {
1672- long wStyle;
1674+ // 64ビット対応
1675+// long wStyle;
1676+ LONG_PTR wStyle;
16731677 char Tmp[FMAX_PATH+1];
16741678 NMHDR *pnmhdr;
16751679
@@ -1747,17 +1751,25 @@ static BOOL CALLBACK MainSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LP
17471751 if(SendDlgItemMessage(hDlg, HSET_ANONYMOUS, BM_GETCHECK, 0, 0) == 1)
17481752 {
17491753 SendDlgItemMessage(hDlg, HSET_USER, WM_SETTEXT, 0, (LPARAM)"anonymous");
1750- wStyle = GetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE);
1754+ // 64ビット対応
1755+// wStyle = GetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE);
1756+ wStyle = GetWindowLongPtr(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE);
17511757 wStyle &= ~ES_PASSWORD;
1752- SetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE, wStyle);
1758+ // 64ビット対応
1759+// SetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE, wStyle);
1760+ SetWindowLongPtr(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE, wStyle);
17531761 SendDlgItemMessage(hDlg, HSET_PASS, WM_SETTEXT, 0, (LPARAM)UserMailAdrs);
17541762 }
17551763 else
17561764 {
17571765 SendDlgItemMessage(hDlg, HSET_USER, WM_SETTEXT, 0, (LPARAM)"");
1758- wStyle = GetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE);
1766+ // 64ビット対応
1767+// wStyle = GetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE);
1768+ wStyle = GetWindowLongPtr(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE);
17591769 wStyle |= ES_PASSWORD;
1760- SetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE, wStyle);
1770+ // 64ビット対応
1771+// SetWindowLong(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE, wStyle);
1772+ SetWindowLongPtr(GetDlgItem(hDlg, HSET_PASS), GWL_STYLE, wStyle);
17611773 SendDlgItemMessage(hDlg, HSET_PASS, WM_SETTEXT, 0, (LPARAM)"");
17621774 }
17631775 break;
--- a/lvtips.c
+++ b/lvtips.c
@@ -299,7 +299,9 @@ static int CellRectFromPoint(HWND hWnd, POINT point, RECT *cellrect, int *col)
299299 int Ret;
300300
301301 Ret = -1;
302- if((GetWindowLong(hWnd, GWL_STYLE) & LVS_TYPEMASK) == LVS_REPORT )
302+ // 64ビット対応
303+// if((GetWindowLong(hWnd, GWL_STYLE) & LVS_TYPEMASK) == LVS_REPORT )
304+ if((GetWindowLongPtr(hWnd, GWL_STYLE) & LVS_TYPEMASK) == LVS_REPORT )
303305 {
304306 row = ListView_GetTopIndex(hWnd);
305307 bottom = row + ListView_GetCountPerPage(hWnd);
--- a/main.c
+++ b/main.c
@@ -632,13 +632,7 @@ static int MakeAllWindows(int cmdShow)
632632 WinPosX = CW_USEDEFAULT;
633633 WinPosY = 0;
634634 }
635- // UTF-8対応
636- // ユーザー定義のクラスはデフォルトのWNDPROCがShift_JIS専用のため
637-// hWndFtp = CreateWindow(FtpClassStr, "FFFTP",
638-// WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
639-// WinPosX, WinPosY, WinWidth, WinHeight,
640-// HWND_DESKTOP, 0, hInstFtp, NULL);
641- hWndFtp = CreateWindowA(FtpClassStr, "FFFTP",
635+ hWndFtp = CreateWindow(FtpClassStr, "FFFTP",
642636 WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
643637 WinPosX, WinPosY, WinWidth, WinHeight,
644638 HWND_DESKTOP, 0, hInstFtp, NULL);
@@ -845,6 +839,8 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA
845839 {
846840 PAINTSTRUCT ps;
847841 LPTOOLTIPTEXT lpttt;
842+ // UTF-8対応
843+ LPTOOLTIPTEXTW wlpttt;
848844 RECT Rect;
849845
850846 int TmpTransType;
@@ -1410,8 +1406,13 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA
14101406 switch(((LPNMHDR)lParam)->code)
14111407 {
14121408 /* ツールチップコントロールメッセージの処理 */
1413- case TTN_NEEDTEXT:
1409+ // UTF-8対応
1410+// case TTN_NEEDTEXT:
1411+ case TTN_NEEDTEXTW:
14141412 lpttt = (LPTOOLTIPTEXT)lParam;
1413+ // UTF-8対応
1414+ // lptttは単なる警告回避用
1415+ wlpttt = (LPTOOLTIPTEXTW)lParam;
14151416 lpttt->hinst = hInstFtp;
14161417 switch(lpttt->hdr.idFrom)
14171418 {
@@ -1541,15 +1542,14 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA
15411542 lpttt->lpszText = MSGJPN176;
15421543 break;
15431544 }
1544- // UTF-8からShift_JISへ変換
1545+ // UTF-8対応
1546+ // UTF-8からUTF-16 LEへ変換
15451547 {
15461548 static wchar_t StringBufferUTF16[1024];
1547- static char StringBufferSJIS[1024];
15481549 if(lpttt->lpszText)
15491550 {
15501551 MtoW(StringBufferUTF16, sizeof(StringBufferUTF16)/ sizeof(wchar_t), lpttt->lpszText, -1);
1551- WtoA(StringBufferSJIS, sizeof(StringBufferSJIS)/ sizeof(char), StringBufferUTF16, -1);
1552- lpttt->lpszText = StringBufferSJIS;
1552+ wlpttt->lpszText = StringBufferUTF16;
15531553 }
15541554 }
15551555 break;
--- a/mbswrapper.c
+++ b/mbswrapper.c
@@ -723,7 +723,7 @@ END_ROUTINE
723723
724724 LONG GetWindowLongM(HWND hWnd, int nIndex)
725725 {
726- LRESULT r = 0;
726+ LONG r = 0;
727727 START_ROUTINE
728728 // WNDPROCがShift_JIS用であるため
729729 if(IsWindowUnicode(hWnd))
@@ -736,7 +736,7 @@ END_ROUTINE
736736
737737 LONG SetWindowLongM(HWND hWnd, int nIndex, LONG dwNewLong)
738738 {
739- LRESULT r = 0;
739+ LONG r = 0;
740740 START_ROUTINE
741741 // WNDPROCがShift_JIS用であるため
742742 if(IsWindowUnicode(hWnd))
@@ -747,6 +747,32 @@ END_ROUTINE
747747 return r;
748748 }
749749
750+LONG_PTR GetWindowLongPtrM(HWND hWnd, int nIndex)
751+{
752+ LONG_PTR r = 0;
753+START_ROUTINE
754+ // WNDPROCがShift_JIS用であるため
755+ if(IsWindowUnicode(hWnd))
756+ r = GetWindowLongPtrW(hWnd, nIndex);
757+ else
758+ r = GetWindowLongPtrA(hWnd, nIndex);
759+END_ROUTINE
760+ return r;
761+}
762+
763+LONG_PTR SetWindowLongPtrM(HWND hWnd, int nIndex, LONG_PTR dwNewLong)
764+{
765+ LONG_PTR r = 0;
766+START_ROUTINE
767+ // WNDPROCがShift_JIS用であるため
768+ if(IsWindowUnicode(hWnd))
769+ r = SetWindowLongPtrW(hWnd, nIndex, dwNewLong);
770+ else
771+ r = SetWindowLongPtrA(hWnd, nIndex, dwNewLong);
772+END_ROUTINE
773+ return r;
774+}
775+
750776 LRESULT DefWindowProcM(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
751777 {
752778 LRESULT r = 0;
--- a/mbswrapper.h
+++ b/mbswrapper.h
@@ -44,6 +44,12 @@ LONG GetWindowLongM(HWND hWnd, int nIndex);
4444 #undef SetWindowLong
4545 #define SetWindowLong SetWindowLongM
4646 LONG SetWindowLongM(HWND hWnd, int nIndex, LONG dwNewLong);
47+#undef GetWindowLongPtr
48+#define GetWindowLongPtr GetWindowLongPtrM
49+LONG_PTR GetWindowLongPtrM(HWND hWnd, int nIndex);
50+#undef SetWindowLongPtr
51+#define SetWindowLongPtr SetWindowLongPtrM
52+LONG_PTR SetWindowLongPtrM(HWND hWnd, int nIndex, LONG_PTR dwNewLong);
4753 #undef DefWindowProc
4854 #define DefWindowProc DefWindowProcM
4955 LRESULT DefWindowProcM(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
--- a/toolmenu.c
+++ b/toolmenu.c
@@ -252,7 +252,9 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
252252 if(hWndTbarMain != NULL)
253253 {
254254 /* 2007/09/21 sunasunamix ここから *********************/
255- pOldTbarMainProc = (WNDPROC)SetWindowLong(hWndTbarMain, GWL_WNDPROC, (DWORD)CountermeasureTbarMainProc);
255+ // 64ビット対応
256+// pOldTbarMainProc = (WNDPROC)SetWindowLong(hWndTbarMain, GWL_WNDPROC, (DWORD)CountermeasureTbarMainProc);
257+ pOldTbarMainProc = (WNDPROC)SetWindowLongPtr(hWndTbarMain, GWL_WNDPROC, (LONG_PTR)CountermeasureTbarMainProc);
256258 /********************************************* ここまで */
257259
258260 GetClientRect(hWnd, &Rect1);
@@ -277,7 +279,9 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
277279 if(hWndTbarLocal != NULL)
278280 {
279281 /* 2007/09/21 sunasunamix ここから *********************/
280- pOldTbarLocalProc = (WNDPROC)SetWindowLong(hWndTbarLocal, GWL_WNDPROC, (DWORD)CountermeasureTbarLocalProc);
282+ // 64ビット対応
283+// pOldTbarLocalProc = (WNDPROC)SetWindowLong(hWndTbarLocal, GWL_WNDPROC, (DWORD)CountermeasureTbarLocalProc);
284+ pOldTbarLocalProc = (WNDPROC)SetWindowLongPtr(hWndTbarLocal, GWL_WNDPROC, (LONG_PTR)CountermeasureTbarLocalProc);
281285 /********************************************* ここまで */
282286
283287 MoveWindow(hWndTbarLocal, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, FALSE);
@@ -302,7 +306,9 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
302306 /* エディットコントロールを探す */
303307 hWndDirLocalEdit = GetWindow(hWndDirLocal, GW_CHILD);
304308 if(hWndDirLocalEdit != NULL)
305- HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirLocalEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);
309+ // 64ビット対応
310+// HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirLocalEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);
311+ HistEditBoxProcPtr = (WNDPROC)SetWindowLongPtr(hWndDirLocalEdit, GWL_WNDPROC, (LONG_PTR)HistEditBoxWndProc);
306312
307313 SendMessage(hWndDirLocal, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE, 0));
308314 SendMessage(hWndDirLocal, CB_LIMITTEXT, FMAX_PATH, 0);
@@ -340,7 +346,9 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
340346 if(hWndTbarRemote != NULL)
341347 {
342348 /* 2007/09/21 sunasunamix ここから *********************/
343- pOldTbarRemoteProc = (WNDPROC)SetWindowLong(hWndTbarRemote, GWL_WNDPROC, (DWORD)CountermeasureTbarRemoteProc);
349+ // 64ビット対応
350+// pOldTbarRemoteProc = (WNDPROC)SetWindowLong(hWndTbarRemote, GWL_WNDPROC, (DWORD)CountermeasureTbarRemoteProc);
351+ pOldTbarRemoteProc = (WNDPROC)SetWindowLongPtr(hWndTbarRemote, GWL_WNDPROC, (LONG_PTR)CountermeasureTbarRemoteProc);
344352 /********************************************* ここまで */
345353
346354 MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, FALSE);
@@ -359,7 +367,9 @@ int MakeToolBarWindow(HWND hWnd, HINSTANCE hInst)
359367 /* エディットコントロールを探す */
360368 hWndDirRemoteEdit = GetWindow(hWndDirRemote, GW_CHILD);
361369 if(hWndDirRemoteEdit != NULL)
362- HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirRemoteEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);
370+ // 64ビット対応
371+// HistEditBoxProcPtr = (WNDPROC)SetWindowLong(hWndDirRemoteEdit, GWL_WNDPROC, (LONG)HistEditBoxWndProc);
372+ HistEditBoxProcPtr = (WNDPROC)SetWindowLongPtr(hWndDirRemoteEdit, GWL_WNDPROC, (LONG_PTR)HistEditBoxWndProc);
363373
364374 SendMessage(hWndDirRemote, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE, 0));
365375 SendMessage(hWndDirRemote, CB_LIMITTEXT, FMAX_PATH, 0);
@@ -1899,7 +1909,9 @@ static LRESULT CALLBACK CountermeasureTbarMainProc(HWND hWnd,UINT uMessage,WPARA
18991909 {
19001910 switch (uMessage) {
19011911 case WM_DESTROY :
1902- SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarMainProc);
1912+ // 64ビット対応
1913+// SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarMainProc);
1914+ SetWindowLongPtr(hWnd,GWL_WNDPROC,(LONG_PTR)pOldTbarMainProc);
19031915 break;
19041916 case WM_RBUTTONDBLCLK :
19051917 case WM_RBUTTONDOWN :
@@ -1916,7 +1928,9 @@ static LRESULT CALLBACK CountermeasureTbarLocalProc(HWND hWnd,UINT uMessage,WPAR
19161928 {
19171929 switch (uMessage) {
19181930 case WM_DESTROY :
1919- SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarLocalProc);
1931+ // 64ビット対応
1932+// SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarLocalProc);
1933+ SetWindowLongPtr(hWnd,GWL_WNDPROC,(LONG_PTR)pOldTbarLocalProc);
19201934 break;
19211935 case WM_RBUTTONDBLCLK :
19221936 case WM_RBUTTONDOWN :
@@ -1933,7 +1947,9 @@ static LRESULT CALLBACK CountermeasureTbarRemoteProc(HWND hWnd,UINT uMessage,WPA
19331947 {
19341948 switch (uMessage) {
19351949 case WM_DESTROY :
1936- SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarRemoteProc);
1950+ // 64ビット対応
1951+// SetWindowLong(hWnd,GWL_WNDPROC,(DWORD)pOldTbarRemoteProc);
1952+ SetWindowLongPtr(hWnd,GWL_WNDPROC,(LONG_PTR)pOldTbarRemoteProc);
19371953 break;
19381954 case WM_RBUTTONDBLCLK :
19391955 case WM_RBUTTONDOWN :