-/*=============================================================================\r
+/*=============================================================================\r
*\r
-* \82e\82e\82e\82s\82o\r
+* FFFTP\r
*\r
===============================================================================\r
/ Copyright (C) 1997-2007 Sota. All rights reserved.\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
-#define RESIZE_OFF 0 /* \83E\83C\83\93\83h\83E\82Ì\8bæ\90Ø\82è\88Ê\92u\95Ï\8dX\82µ\82Ä\82¢\82È\82¢ */\r
-#define RESIZE_ON 1 /* \83E\83C\83\93\83h\83E\82Ì\8bæ\90Ø\82è\88Ê\92u\95Ï\8dX\92\86 */\r
-#define RESIZE_PREPARE 2 /* \83E\83C\83\93\83h\83E\82Ì\8bæ\90Ø\82è\88Ê\92u\95Ï\8dX\82Ì\8f\80\94õ */\r
+#define RESIZE_OFF 0 /* ウインドウの区切り位置変更していない */\r
+#define RESIZE_ON 1 /* ウインドウの区切り位置変更中 */\r
+#define RESIZE_PREPARE 2 /* ウインドウの区切り位置変更の準備 */\r
\r
-#define RESIZE_HPOS 0 /* \83\8d\81[\83J\83\8b\81|\83z\83X\83g\8aÔ\82Ì\8bæ\90Ø\82è\88Ê\92u\95Ï\8dX */\r
-#define RESIZE_VPOS 1 /* \83\8a\83X\83g\81|\83^\83X\83N\8aÔ\82Ì\8bæ\90Ø\82è\88Ê\92u\82Ì\95Ï\8dX */\r
+#define RESIZE_HPOS 0 /* ローカル-ホスト間の区切り位置変更 */\r
+#define RESIZE_VPOS 1 /* リスト-タスク間の区切り位置の変更 */\r
\r
\r
-/*===== \83v\83\8d\83g\83^\83C\83v =====*/\r
+/*===== プロトタイプ =====*/\r
\r
static int InitApp(LPSTR lpszCmdLine, int cmdShow);\r
static int MakeAllWindows(int cmdShow);\r
static BOOL CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
static int EnterMasterPasswordAndSet( int Res, HWND hWnd );\r
\r
-/*===== \83\8d\81[\83J\83\8b\82È\83\8f\81[\83N =====*/\r
+/*===== ローカルなワーク =====*/\r
\r
static const char FtpClassStr[] = "FFFTPWin";\r
\r
static char IniPath[FMAX_PATH+1];\r
static int ForceIni = NO;\r
\r
-TRANSPACKET MainTransPkt; /* \83t\83@\83C\83\8b\93]\91\97\97p\83p\83P\83b\83g */\r
- /* \82±\82ê\82ð\8eg\82Á\82Ä\93]\91\97\82ð\8ds\82¤\82Æ\81A\83c\81[\83\8b\83o\81[\82Ì\93]\91\97 */\r
- /* \92\86\8e~\83{\83^\83\93\82Å\92\86\8e~\82Å\82«\82é */\r
+TRANSPACKET MainTransPkt; /* ファイル転送用パケット */\r
+ /* これを使って転送を行うと、ツールバーの転送 */\r
+ /* 中止ボタンで中止できる */\r
\r
char TitleHostName[HOST_ADRS_LEN+1];\r
char FilterStr[FILTER_EXT_LEN+1] = { "*" };\r
static DWORD dwCookie;\r
\r
\r
-/*===== \83O\83\8d\81[\83o\83\8b\82È\83\8f\81[\83N =====*/\r
+/*===== グローバルなワーク =====*/\r
\r
HWND hHelpWin = NULL;\r
\r
-/* \90Ý\92è\92l */\r
+/* 設定値 */\r
int WinPosX = CW_USEDEFAULT;\r
int WinPosY = 0;\r
int WinWidth = 630;\r
int SendMode = TRANS_DLG;\r
int MoveMode = MOVE_DLG;\r
int ListType = LVS_REPORT;\r
-// LIST\82Ì\83L\83\83\83b\83V\83\85\82ð\96³\8cø\82É\82·\82é\81i\83\8a\83\82\81[\83g\82Ì\83f\83B\83\8c\83N\83g\83\8a\82Ì\95\\8e¦\82ª\8dX\90V\82³\82ê\82È\82¢\83o\83O\91Î\8dô\81j\r
+// LISTのキャッシュを無効にする(リモートのディレクトリの表示が更新されないバグ対策)\r
//int CacheEntry = 10;\r
int CacheEntry = -10;\r
int CacheSave = NO;\r
int MirDownDelNotify = YES; \r
int FolderAttr = NO;\r
int FolderAttrNum = 777;\r
+// 同時接続対応\r
+int MaxThreadCount = 1;\r
\r
\r
\r
\r
-/*----- \83\81\83C\83\93\83\8b\81[\83`\83\93 --------------------------------------------------------\r
+/*----- メインルーチン --------------------------------------------------------\r
*\r
* Parameter\r
-* HINSTANCE hInstance : \82±\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\82±\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83n\83\93\83h\83\8b\r
-* HINSTANCE hPrevInstance : \82±\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\92¼\91O\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83n\83\93\83h\83\8b\r
-* LPSTR lpszCmdLine : \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\8bN\93®\82µ\82½\82Æ\82«\82Ì\83R\83}\83\93\83h\83\89\83C\83\93\82ð\82³\82·\83\8d\83\93\83O\83|\83C\83\93\83^\r
-* int cmdShow : \8dÅ\8f\89\82É\95\\8e¦\82·\82é\83E\83C\83\93\83h\83E\82Ì\8c`\8e®\81B\r
+* HINSTANCE hInstance : このアプリケーションのこのインスタンスのハンドル\r
+* HINSTANCE hPrevInstance : このアプリケーションの直前のインスタンスのハンドル\r
+* LPSTR lpszCmdLine : アプリケーションが起動したときのコマンドラインをさすロングポインタ\r
+* int cmdShow : 最初に表示するウインドウの形式。\r
*\r
* Return Value\r
-* int \8dÅ\8cã\82Ì\83\81\83b\83Z\81[\83W\82ÌwParam\r
+* int 最後のメッセージのwParam\r
*----------------------------------------------------------------------------*/\r
\r
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int cmdShow)\r
Ret = FALSE;\r
hWndFtp = NULL;\r
hInstFtp = hInstance;\r
- if(InitApp(lpszCmdLine, cmdShow) == SUCCESS)\r
+ if(InitApp(lpszCmdLine, cmdShow) == FFFTP_SUCCESS)\r
{\r
for(;;)\r
{\r
\r
if(!HtmlHelp(NULL, NULL, HH_PRETRANSLATEMESSAGE, (DWORD)&Msg))\r
{ \r
- /* \83f\83B\83\8c\83N\83g\83\8a\96¼\82Ì\95\\8e¦\83R\83\93\83{\83{\83b\83N\83X\82ÅBS\82âRET\82ª\8cø\82\82æ\82¤\82É */\r
- /* \83R\83\93\83{\83{\83b\83N\83X\93à\82Å\82Í\83A\83N\83Z\83\89\83\8c\81[\83^\82ð\96³\8cø\82É\82·\82é */\r
+ /* ディレクトリ名の表示コンボボックスでBSやRETが効くように */\r
+ /* コンボボックス内ではアクセラレータを無効にする */\r
if((Msg.hwnd == GetLocalHistEditHwnd()) ||\r
(Msg.hwnd == GetRemoteHistEditHwnd()) ||\r
((hHelpWin != NULL) && (GetAncestor(Msg.hwnd, GA_ROOT) == hHelpWin)) ||\r
}\r
\r
\r
-/*----- \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\8f\89\8aú\90Ý\92è --------------------------------------------\r
+/*----- アプリケーションの初期設定 --------------------------------------------\r
*\r
* Parameter\r
-* HINSTANCE hInstance : \82±\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\82±\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83n\83\93\83h\83\8b\r
-* HINSTANCE hPrevInstance : \82±\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\92¼\91O\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì\83n\83\93\83h\83\8b\r
-* LPSTR lpszCmdLine : \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\8bN\93®\82µ\82½\82Æ\82«\82Ì\83R\83}\83\93\83h\83\89\83C\83\93\82ð\82³\82·\83\8d\83\93\83O\83|\83C\83\93\83^\r
-* int cmdShow : \8dÅ\8f\89\82É\95\\8e¦\82·\82é\83E\83C\83\93\83h\83E\82Ì\8c`\8e®\81B\r
+* HINSTANCE hInstance : このアプリケーションのこのインスタンスのハンドル\r
+* HINSTANCE hPrevInstance : このアプリケーションの直前のインスタンスのハンドル\r
+* LPSTR lpszCmdLine : アプリケーションが起動したときのコマンドラインをさすロングポインタ\r
+* int cmdShow : 最初に表示するウインドウの形式。\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* SUCCESS/FAIL\r
+* int ステータス\r
+* FFFTP_SUCCESS/FFFTP_FAIL\r
*----------------------------------------------------------------------------*/\r
\r
static int InitApp(LPSTR lpszCmdLine, int cmdShow)\r
int Err;\r
WSADATA WSAData;\r
char PwdBuf[FMAX_PATH+1];\r
- int useDefautPassword = 0; /* \8cx\8d\90\95¶\95\\8e¦\97p */\r
+ int useDefautPassword = 0; /* 警告文表示用 */\r
int masterpass;\r
\r
- sts = FAIL;\r
+ sts = FFFTP_FAIL;\r
\r
aes_init();\r
srand(GetTickCount());\r
\r
// AllocConsole();\r
\r
- /* 2010.02.01 genta \83}\83X\83^\81[\83p\83X\83\8f\81[\83h\82ð\93ü\97Í\82³\82¹\82é\r
- -z \83I\83v\83V\83\87\83\93\82ª\82 \82é\82Æ\82«\82Í\8dÅ\8f\89\82¾\82¯\83X\83L\83b\83v\r
- -z \83I\83v\83V\83\87\83\93\82ª\82È\82¢\82Æ\82«\82Í\81C\83f\83t\83H\83\8b\83g\83p\83X\83\8f\81[\83h\82ð\82Ü\82¸\8e\8e\82·\r
- LoadRegistory()\82·\82é\r
- \83p\83X\83\8f\81[\83h\82ª\95s\88ê\92v\82È\82ç\8dÄ\93ü\97Í\82·\82é\82©\90q\82Ë\82é\81D\r
- (\94j\91¹\82µ\82Ä\82¢\82½\8fê\8d\87\82Í\82³\82¹\82È\82¢)\r
+ /* 2010.02.01 genta マスターパスワードを入力させる\r
+ -z オプションがあるときは最初だけスキップ\r
+ -z オプションがないときは,デフォルトパスワードをまず試す\r
+ LoadRegistory()する\r
+ パスワードが不一致なら再入力するか尋ねる.\r
+ (破損していた場合はさせない)\r
*/\r
if( CheckMasterPassword(lpszCmdLine, PwdBuf))\r
{\r
useDefautPassword = 0;\r
}\r
else {\r
- /* \83p\83X\83\8f\81[\83h\8ew\92è\96³\82µ */\r
+ /* パスワード指定無し */\r
SetMasterPassword( NULL );\r
- /* \82±\82Ì\8fê\82Å\82Í\95\\8e¦\82Å\82«\82È\82¢\82Ì\82Å\83t\83\89\83O\82¾\82¯\97§\82Ä\82Ä\82¨\82*/\r
+ /* この場では表示できないのでフラグだけ立てておく*/\r
useDefautPassword = 2;\r
}\r
\r
- /* \83p\83X\83\8f\81[\83h\83`\83F\83b\83N\82Ì\82Ý\8eÀ\8e{ */\r
+ /* パスワードチェックのみ実施 */\r
masterpass = 1;\r
while( ValidateMasterPassword() == YES &&\r
GetMasterPasswordStatus() == PASSWORD_UNMATCH ){\r
\r
if( useDefautPassword != 2 ){\r
- /* \8dÄ\83g\83\89\83C\82·\82é\82©\8am\94F */\r
+ /* 再トライするか確認 */\r
if( MessageBox(NULL, MSGJPN304, "FFFTP", MB_YESNO | MB_ICONEXCLAMATION) == IDNO ){\r
- useDefautPassword = 0; /* \95s\88ê\92v\82È\82Ì\82Å\81C\82à\82Í\82â\83f\83t\83H\83\8b\83g\82©\82Ç\82¤\82©\82Í\95ª\82©\82ç\82È\82¢ */\r
+ useDefautPassword = 0; /* 不一致なので,もはやデフォルトかどうかは分からない */\r
break;\r
}\r
}\r
\r
- /* \8dÄ\93ü\97Í\82³\82¹\82é*/\r
+ /* 再入力させる*/\r
masterpass = EnterMasterPasswordAndSet(masterpasswd_dlg, NULL);\r
if( masterpass == 2 ){\r
useDefautPassword = 1;\r
{\r
LoadRegistory();\r
\r
- // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
+ // 暗号化通信対応\r
SetSSLTimeoutCallback(TimeOut * 1000, SSLTimeoutCallback);\r
\r
LoadJre();\r
LoadRasLib();\r
LoadKernelLib();\r
\r
- //\83^\83C\83}\82Ì\90¸\93x\82ð\89ü\91P\r
+ //タイマの精度を改善\r
timeBeginPeriod(1);\r
\r
CountPrevFfftpWindows();\r
\r
- if(MakeAllWindows(cmdShow) == SUCCESS)\r
+ if(MakeAllWindows(cmdShow) == FFFTP_SUCCESS)\r
{\r
hWndCurFocus = GetLocalHwnd();\r
\r
DispTransferType();\r
SetHostKanaCnvImm(YES);\r
SetHostKanjiCodeImm(KANJI_NOCNV);\r
- // \96{\93\96\82Í\83\8d\81[\83J\83\8b\82Ì\83f\83t\83H\83\8b\83g\82ðUTF-8\82É\82µ\82½\82¢\82ª\8b\8c\83o\81[\83W\83\87\83\93\82Æ\82Ì\8cÝ\8a·\90«\82Ì\82½\82ßShift_JIS\82É\90Ý\92è\r
+ // 本当はローカルのデフォルトをUTF-8にしたいが旧バージョンとの互換性のためShift_JISに設定\r
// SetLocalKanjiCodeImm(KANJI_UTF8N);\r
SetLocalKanjiCodeImm(KANJI_SJIS);\r
DispListType();\r
if(CacheSave == YES)\r
LoadCache();\r
\r
- if(MakeTransferThread() == SUCCESS)\r
+ if(MakeTransferThread() == FFFTP_SUCCESS)\r
{\r
DoPrintf("DEBUG MESSAGE ON ! ##");\r
\r
DispWindowTitle();\r
- // SourceForge.JP\82É\82æ\82é\83t\83H\81[\83N\r
+ // SourceForge.JPによるフォーク\r
// SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.");\r
SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011 Hiromichi Matsushima, Suguru Kawamoto.");\r
\r
DispTransferFiles();\r
\r
StartupProc(lpszCmdLine);\r
- sts = SUCCESS;\r
+ sts = FFFTP_SUCCESS;\r
\r
- /* \83Z\83L\83\85\83\8a\83e\83B\8cx\8d\90\95¶\82Ì\95\\8e¦ */\r
+ /* セキュリティ警告文の表示 */\r
if( useDefautPassword ){\r
SetTaskMsg(MSGJPN300);\r
}\r
\r
- /* \83p\83X\83\8f\81[\83h\95s\88ê\92v\8cx\8d\90\95¶\82Ì\95\\8e¦ */\r
+ /* パスワード不一致警告文の表示 */\r
switch( GetMasterPasswordStatus() ){\r
case PASSWORD_UNMATCH:\r
SetTaskMsg(MSGJPN301);\r
}\r
}\r
\r
- // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
+ // 暗号化通信対応\r
#ifdef USE_OPENSSL\r
if(IsOpenSSLLoaded())\r
SetTaskMsg(MSGJPN318);\r
SetTaskMsg(MSGJPN319);\r
#endif\r
\r
- if(sts == FAIL)\r
+ if(sts == FFFTP_FAIL)\r
DeleteAllObject();\r
\r
return(sts);\r
}\r
\r
\r
-/*----- \83E\83C\83\93\83h\83E\82ð\8dì\90¬\82·\82é --------------------------------------------------\r
+/*----- ウインドウを作成する --------------------------------------------------\r
*\r
* Parameter\r
-* int cmdShow : \8dÅ\8f\89\82É\95\\8e¦\82·\82é\83E\83C\83\93\83h\83E\82Ì\8c`\8e®\81B\r
+* int cmdShow : 最初に表示するウインドウの形式。\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* SUCCESS/FAIL\r
+* int ステータス\r
+* FFFTP_SUCCESS/FFFTP_FAIL\r
*----------------------------------------------------------------------------*/\r
\r
static int MakeAllWindows(int cmdShow)\r
int StsLvtips;\r
int StsSocket;\r
\r
- /*===== \83\81\83C\83\93\83E\83C\83\93\83h\83E =====*/\r
+ /*===== メインウインドウ =====*/\r
\r
RootColorBrush = CreateSolidBrush(GetSysColor(COLOR_3DFACE));\r
\r
WinPosX = CW_USEDEFAULT;\r
WinPosY = 0;\r
}\r
- // UTF-8\91Î\89\9e\r
- // \83\86\81[\83U\81[\92è\8b`\82Ì\83N\83\89\83X\82Í\83f\83t\83H\83\8b\83g\82ÌWNDPROC\82ªShift_JIS\90ê\97p\82Ì\82½\82ß\r
+ // UTF-8対応\r
+ // ユーザー定義のクラスはデフォルトのWNDPROCがShift_JIS専用のため\r
// hWndFtp = CreateWindow(FtpClassStr, "FFFTP",\r
// WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,\r
// WinPosX, WinPosY, WinWidth, WinHeight,\r
MoveWindow(hWndFtp, Rect2.left, Rect2.top, WinWidth, WinHeight, FALSE);\r
}\r
\r
- /*===== \83X\83e\83C\83^\83X\83o\81[ =====*/\r
+ /*===== ステイタスバー =====*/\r
\r
StsSbar = MakeStatusBarWindow(hWndFtp, hInstFtp);\r
\r
CalcWinSize();\r
\r
- /*===== \83c\81[\83\8b\83o\81[ =====*/\r
+ /*===== ツールバー =====*/\r
\r
StsTbar = MakeToolBarWindow(hWndFtp, hInstFtp);\r
\r
- /*===== \83t\83@\83C\83\8b\83\8a\83X\83g\83E\83C\83\93\83h\83E =====*/\r
+ /*===== ファイルリストウインドウ =====*/\r
\r
StsList = MakeListWin(hWndFtp, hInstFtp);\r
\r
- /*==== \83^\83X\83N\83E\83C\83\93\83h\83E ====*/\r
+ /*==== タスクウインドウ ====*/\r
\r
StsTask = MakeTaskWindow(hWndFtp, hInstFtp);\r
\r
\r
ShowWindow(hWndFtp, cmdShow);\r
\r
- /*==== \83\\83P\83b\83g\83E\83C\83\93\83h\83E ====*/\r
+ /*==== ソケットウインドウ ====*/\r
\r
StsSocket = MakeSocketWin(hWndFtp, hInstFtp);\r
\r
StsLvtips = InitListViewTips(hWndFtp, hInstFtp);\r
}\r
\r
- Sts = SUCCESS;\r
+ Sts = FFFTP_SUCCESS;\r
if((hWndFtp == NULL) ||\r
- (StsTbar == FAIL) ||\r
- (StsList == FAIL) ||\r
- (StsSbar == FAIL) ||\r
- (StsTask == FAIL) ||\r
- (StsLvtips == FAIL) ||\r
- (StsSocket == FAIL))\r
+ (StsTbar == FFFTP_FAIL) ||\r
+ (StsList == FFFTP_FAIL) ||\r
+ (StsSbar == FFFTP_FAIL) ||\r
+ (StsTask == FFFTP_FAIL) ||\r
+ (StsLvtips == FFFTP_FAIL) ||\r
+ (StsSocket == FFFTP_FAIL))\r
{\r
- Sts = FAIL;\r
+ Sts = FFFTP_FAIL;\r
}\r
\r
- if(Sts == SUCCESS)\r
+ if(Sts == FFFTP_SUCCESS)\r
SetListViewType();\r
\r
return(Sts);\r
}\r
\r
\r
-/*----- \83E\83C\83\93\83h\83E\82Ì\83^\83C\83g\83\8b\82ð\95\\8e¦\82·\82é ----------------------------------------\r
+/*----- ウインドウのタイトルを表示する ----------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void DispWindowTitle(void)\r
}\r
\r
\r
-/*----- \91S\82Ä\82Ì\83I\83u\83W\83F\83N\83g\82ð\8dí\8f\9c ----------------------------------------------\r
+/*----- 全てのオブジェクトを削除 ----------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void DeleteAllObject(void)\r
//move to WM_DESTROY\r
WSACleanup();\r
\r
-//test \83V\83X\83e\83\80\94C\82¹\r
+//test システム任せ\r
// if(ListFont != NULL)\r
// DeleteObject(ListFont);\r
// if(RootColorBrush != NULL)\r
// DeleteObject(RootColorBrush);\r
\r
-//test \83V\83X\83e\83\80\94C\82¹\r
+//test システム任せ\r
// DeleteListViewTips();\r
// DeleteListWin();\r
// DeleteStatusBarWindow();\r
}\r
\r
\r
-/*----- \83\81\83C\83\93\83E\83C\83\93\83h\83E\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\82ð\95Ô\82· ----------------------------\r
+/*----- メインウインドウのウインドウハンドルを返す ----------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* HWND \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
+* HWND ウインドウハンドル\r
*----------------------------------------------------------------------------*/\r
\r
HWND GetMainHwnd(void)\r
}\r
\r
\r
-/*----- \8c»\8dÝ\83t\83H\81[\83J\83X\82ª\82 \82é\83E\83C\83\93\83h\83E\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\82ð\95Ô\82· --------------\r
+/*----- 現在フォーカスがあるウインドウのウインドウハンドルを返す --------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* HWND \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
+* HWND ウインドウハンドル\r
*----------------------------------------------------------------------------*/\r
\r
HWND GetFocusHwnd(void)\r
}\r
\r
\r
-/*----- \8c»\8dÝ\83t\83H\81[\83J\83X\82ª\82 \82é\83E\83C\83\93\83h\83E\82Ì\82ð\83Z\83b\83g\82·\82é --------------------------\r
+/*----- 現在フォーカスがあるウインドウのをセットする --------------------------\r
*\r
* Parameter\r
-* HWND hWnd : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
+* HWND hWnd : ウインドウハンドル\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void SetFocusHwnd(HWND hWnd)\r
}\r
\r
\r
-/*----- \83v\83\8d\83O\83\89\83\80\82Ì\83C\83\93\83X\83^\83\93\83X\82ð\95Ô\82· ----------------------------------------\r
+/*----- プログラムのインスタンスを返す ----------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* HINSTANCE \83C\83\93\83X\83^\83\93\83X\r
+* HINSTANCE インスタンス\r
*----------------------------------------------------------------------------*/\r
\r
HINSTANCE GetFtpInst(void)\r
}\r
\r
\r
-/*----- \83\81\83C\83\93\83E\83C\83\93\83h\83E\82Ì\83\81\83b\83Z\81[\83W\8f\88\97\9d --------------------------------------\r
+/*----- メインウインドウのメッセージ処理 --------------------------------------\r
*\r
* Parameter\r
-* HWND hWnd : \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 hWnd : ウインドウハンドル\r
+* UINT message : メッセージ番号\r
+* WPARAM wParam : メッセージの WPARAM 引数\r
+* LPARAM lParam : メッセージの LPARAM 引数\r
*\r
* Return Value\r
-* \83\81\83b\83Z\81[\83W\82É\91Î\89\9e\82·\82é\96ß\82è\92l\r
+* メッセージに対応する戻り値\r
*----------------------------------------------------------------------------*/\r
\r
static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)\r
DispTransferType();\r
CheckHistoryNum(0);\r
SetAllHistoryToMenu();\r
- // \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
+ // 暗号化通信対応\r
SetSSLTimeoutCallback(TimeOut * 1000, SSLTimeoutCallback);\r
break;\r
\r
DispTransferType();\r
break;\r
\r
- // UTF-8\91Î\89\9e\r
+ // UTF-8対応\r
case MENU_KNJ_SJIS :\r
case MENU_KNJ_EUC :\r
case MENU_KNJ_JIS :\r
case MENU_REFRESH :\r
SuppressRefresh = 1;\r
GetLocalDirForWnd();\r
- if(CheckClosedAndReconnect() == SUCCESS)\r
+ if(CheckClosedAndReconnect() == FFFTP_SUCCESS)\r
GetRemoteDirForWnd(CACHE_REFRESH, &CancelFlg);\r
SuppressRefresh = 0;\r
break;\r
\r
case REFRESH_REMOTE :\r
SuppressRefresh = 1;\r
- if(CheckClosedAndReconnect() == SUCCESS)\r
+ if(CheckClosedAndReconnect() == FFFTP_SUCCESS)\r
GetRemoteDirForWnd(CACHE_REFRESH, &CancelFlg);\r
SuppressRefresh = 0;\r
break;\r
case MENU_CHANGEPASSWD: /* 2010.01.31 genta */\r
if( GetMasterPasswordStatus() != PASSWORD_OK )\r
{\r
- /* \8b\90§\93I\82É\90Ý\92è\82·\82é\82©\8am\94F */\r
+ /* 強制的に設定するか確認 */\r
if( DialogBox(hInstFtp, MAKEINTRESOURCE(forcepasschange_dlg), hWnd, ExeEscDialogProc) != YES){\r
break;\r
}\r
}\r
break;\r
}\r
-// \8fí\82É\83z\83X\83g\82©\83\8d\81[\83J\83\8b\82Ö\83t\83H\81[\83J\83X\82ð\88Ú\93®\r
+// 常にホストかローカルへフォーカスを移動\r
// SetFocus(hWndCurFocus);\r
MakeButtonsFocus();\r
break;\r
case WM_NOTIFY :\r
switch(((LPNMHDR)lParam)->code)\r
{\r
- /* \83c\81[\83\8b\83`\83b\83v\83R\83\93\83g\83\8d\81[\83\8b\83\81\83b\83Z\81[\83W\82Ì\8f\88\97\9d */\r
+ /* ツールチップコントロールメッセージの処理 */\r
case TTN_NEEDTEXT:\r
lpttt = (LPTOOLTIPTEXT)lParam;\r
lpttt->hinst = hInstFtp;\r
lpttt->lpszText = MSGJPN176;\r
break;\r
}\r
- // UTF-8\82©\82çShift_JIS\82Ö\95Ï\8a·\r
+ // UTF-8からShift_JISへ変換\r
{\r
static wchar_t StringBufferUTF16[1024];\r
static char StringBufferSJIS[1024];\r
}\r
\r
\r
-/*----- \83v\83\8d\83O\83\89\83\80\8aJ\8en\8e\9e\82Ì\8f\88\97\9d ------------------------------------------------\r
+/*----- プログラム開始時の処理 ------------------------------------------------\r
*\r
* Parameter\r
-* char *Cmd : \83R\83}\83\93\83h\83\89\83C\83\93\95¶\8e\9a\97ñ\r
+* char *Cmd : コマンドライン文字列\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void StartupProc(char *Cmd)\r
}\r
\r
\r
-/*----- \83R\83}\83\93\83h\83\89\83C\83\93\82ð\89ð\90Í --------------------------------------------------\r
+/*----- コマンドラインを解析 --------------------------------------------------\r
*\r
* Parameter\r
-* char *Str : \83R\83}\83\93\83h\83\89\83C\83\93\95¶\8e\9a\97ñ\r
-* int *AutoConnect : \90Ú\91±\83z\83X\83g\94Ô\8d\86\82ð\95Ô\82·\83\8f\81[\83N\r
-* int *CmdOption : \83I\83v\83V\83\87\83\93\82ð\95Ô\82·\83\8f\81[\83N\r
-* char *unc : unc\82ð\95Ô\82·\83\8f\81[\83N\r
-* int Max : unc\82Ì\8dÅ\91å\92·\r
+* char *Str : コマンドライン文字列\r
+* int *AutoConnect : 接続ホスト番号を返すワーク\r
+* int *CmdOption : オプションを返すワーク\r
+* char *unc : uncを返すワーク\r
+* int Max : uncã\81®æ\9c\80大é\95·\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* 0=\8ew\92è\82È\82µ\81A1=URL\8ew\92è\81A2=\90Ý\92è\96¼\8ew\92è\81A-1=\83G\83\89\81[\r
+* int ステータス\r
+* 0=指定なし、1=URL指定、2=設定名指定、-1=エラー\r
*\r
* Note\r
* -m --mirror\r
* -k --kana\r
* -u --eucname\r
* -i --jisname\r
-* -n --ini (CheckIniFileName\82Å\8c\9f\8dõ)\r
+* -n --ini (CheckIniFileNameで検索)\r
* --saveoff\r
* --saveon\r
-* -z --mpasswd (CheckMasterPassword\82Å\8c\9f\8dõ) 2010.01.30 genta \92Ç\89Á\r
+* -z --mpasswd (CheckMasterPasswordで検索) 2010.01.30 genta 追加\r
*----------------------------------------------------------------------------*/\r
\r
static int AnalyzeComLine(char *Str, int *AutoConnect, int *CmdOption, char *unc, int Max)\r
}\r
\r
\r
-/*----- INI\83t\83@\83C\83\8b\82Ì\83p\83X\96¼\82Ì\8ew\92è\82ð\83`\83F\83b\83N ------------------------------------\r
+/*----- INIファイルのパス名の指定をチェック ------------------------------------\r
*\r
* Parameter\r
-* char *Str : \83R\83}\83\93\83h\83\89\83C\83\93\95¶\8e\9a\97ñ\r
-* char *Ini : ini\83t\83@\83C\83\8b\96¼\82ð\95Ô\82·\83\8f\81[\83N\r
+* char *Str : コマンドライン文字列\r
+* char *Ini : iniファイル名を返すワーク\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* 0=\8ew\92è\82È\82µ\81A1=\82 \82è\r
+* int ステータス\r
+* 0=指定なし、1=あり\r
*\r
* Note\r
* -n --ini\r
return GetTokenAfterOption( Str, Ini, "n", "-ini" );\r
}\r
\r
-/* \83}\83X\83^\81[\83p\83X\83\8f\81[\83h\82Ì\8ew\92è\82ð\83`\83F\83b\83N */\r
+/* マスターパスワードの指定をチェック */\r
static int CheckMasterPassword(char *Str, char *Ini)\r
{\r
return GetTokenAfterOption( Str, Ini, "z", "-mpasswd" );\r
}\r
\r
-/*----- \83I\83v\83V\83\87\83\93\82Ì\8cã\82ë\82Ì\83g\81[\83N\83\93\82ð\8eæ\82è\8fo\82· ------------------------------------\r
+/*----- オプションの後ろのトークンを取り出す ------------------------------------\r
*\r
* Parameter\r
-* char *Str : \83R\83}\83\93\83h\83\89\83C\83\93\95¶\8e\9a\97ñ\r
-* char *Result : \8eæ\82è\8fo\82µ\82½\95¶\8e\9a\97ñ\82ð\8ai\94[\82·\82é\83\8f\81[\83N\r
-* const char* Opt1, *Opt2: \83I\83v\83V\83\87\83\93\95¶\8e\9a\97ñ(2\82Â)\r
+* char *Str : コマンドライン文字列\r
+* char *Result : 取り出した文字列を格納するワーク\r
+* const char* Opt1, *Opt2: オプション文字列(2つ)\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* 0=\8ew\92è\82È\82µ\81A1=\82 \82è\r
+* int ステータス\r
+* 0=指定なし、1=あり\r
*\r
* Note\r
-* 2010.01.30 genta \83}\83X\83^\81[\83p\83X\83\8f\81[\83h\8eæ\82è\8fo\82µ\82Ì\82½\82ß\8b¤\92Ê\89»\r
+* 2010.01.30 genta マスターパスワード取り出しのため共通化\r
*----------------------------------------------------------------------------*/\r
static int GetTokenAfterOption(char *Str, char *Result, const char* Opt1, const char* Opt2 )\r
{\r
return(Ret);\r
}\r
\r
-/*----- \83g\81[\83N\83\93\82ð\95Ô\82· --------------------------------------------------------\r
+/*----- トークンを返す --------------------------------------------------------\r
*\r
* Parameter\r
-* char *Str : \95¶\8e\9a\97ñ\r
-* char *Buf : \95¶\8e\9a\97ñ\82ð\95Ô\82·\83o\83b\83t\83@\r
+* char *Str : 文字列\r
+* char *Buf : 文字列を返すバッファ\r
*\r
* Return Value\r
-* char *\95Ô\82µ\82½\83g\81[\83N\83\93\82Ì\96\96\94ö\r
-* NULL=\8fI\82í\82è\r
+* char *返したトークンの末尾\r
+* NULL=終わり\r
*----------------------------------------------------------------------------*/\r
\r
static char *GetToken(char *Str, char *Buf)\r
}\r
\r
\r
-/*----- \83v\83\8d\83O\83\89\83\80\8fI\97¹\8e\9e\82Ì\8f\88\97\9d ------------------------------------------------\r
+/*----- プログラム終了時の処理 ------------------------------------------------\r
*\r
* Parameter\r
-* HWND hWnd : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
+* HWND hWnd : ウインドウハンドル\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void ExitProc(HWND hWnd)\r
}\r
\r
\r
-/*----- \83t\83@\83C\83\8b\96¼\82ð\83_\83u\83\8b\83N\83\8a\83b\83N\82µ\82½\82Æ\82«\82Ì\8f\88\97\9d ------------------------------\r
+/*----- ファイル名をダブルクリックしたときの処理 ------------------------------\r
*\r
* Parameter\r
-* int Win : \83E\83C\83\93\83h\83E\94Ô\8d\86 (WIN_xxx)\r
-* int Mode : \8fí\82É\81u\8aJ\82\81v\93®\8dì\82ð\82·\82é\82©\82Ç\82¤\82© (YES/NO)\r
-* int App : \83A\83v\83\8a\83P\81[\83V\83\87\83\93\94Ô\8d\86\81i-1=\8aÖ\98A\82Ã\82¯\97D\90æ\81j\r
+* int Win : ウインドウ番号 (WIN_xxx)\r
+* int Mode : 常に「開く」動作をするかどうか (YES/NO)\r
+* int App : アプリケーション番号(-1=関連づけ優先)\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void DoubleClickProc(int Win, int Mode, int App)\r
else\r
ChangeDir(WIN_LOCAL, Tmp);\r
}\r
- else if(CheckClosedAndReconnect() == SUCCESS)\r
+ else if(CheckClosedAndReconnect() == FFFTP_SUCCESS)\r
{\r
if((App != -1) || (Type == NODE_FILE))\r
{\r
if((DclickOpen == YES) || (Mode == YES))\r
{\r
- // \83r\83\85\81[\83\8f\82Q\81A\82R\82Ì\83p\83X\82ª "d " \82Å\8en\82Ü\82Á\82Ä\82¢\82½\82ç\8d·\95ª\83r\83\85\81[\83A\8eg\97p\r
+ // ビューワ2、3のパスが "d " で始まっていたら差分ビューア使用\r
if ((App == 1 || App == 2) && strncmp(ViewerName[App], "d ", 2) == 0)\r
UseDiffViewer = YES;\r
else\r
\r
DisableUserOpe();\r
\r
- /* \95s\90³\82È\83p\83X\82ð\8c\9f\8fo */\r
+ /* 不正なパスを検出 */\r
if(CheckPathViolation(&MainTransPkt) == NO)\r
{\r
// if((Sts = DoDownLoad(AskCmdCtrlSkt(), &MainTransPkt, NO)) == 429)\r
}\r
\r
\r
-/*----- \83t\83H\83\8b\83_\82Ì\88Ú\93® --------------------------------------------------------\r
+/*----- フォルダの移動 --------------------------------------------------------\r
*\r
* Parameter\r
-* int Win : \83E\83C\83\93\83h\83E\94Ô\8d\86 (WIN_xxx)\r
-* char *Path : \88Ú\93®\90æ\82Ì\83p\83X\96¼\r
+* int Win : ウインドウ番号 (WIN_xxx)\r
+* char *Path : 移動先のパス名\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*\r
* Note\r
-* \83t\83H\83\8b\83_\93¯\8e\9e\88Ú\93®\82Ì\8f\88\97\9d\82à\8ds\82¤\r
+* フォルダ同時移動の処理も行う\r
*----------------------------------------------------------------------------*/\r
\r
static void ChangeDir(int Win, char *Path)\r
\r
if((Win == WIN_LOCAL) || (Sync == YES))\r
{\r
- if(DoLocalCWD(Path) == SUCCESS)\r
+ if(DoLocalCWD(Path) == FFFTP_SUCCESS)\r
GetLocalDirForWnd();\r
}\r
\r
if((Win == WIN_REMOTE) || (Sync == YES))\r
{\r
- if(CheckClosedAndReconnect() == SUCCESS)\r
+ if(CheckClosedAndReconnect() == FFFTP_SUCCESS)\r
{\r
#if defined(HAVE_OPENVMS)\r
- /* OpenVMS\82Ì\8fê\8d\87\81A".DIR;?"\82ð\8eæ\82é */\r
+ /* OpenVMSの場合、".DIR;?"を取る */\r
if (AskHostType() == HTYPE_VMS)\r
ReformVMSDirName(Path, TRUE);\r
#endif\r
}\r
\r
\r
-/*----- \83E\83C\83\93\83h\83E\82Ì\83T\83C\83Y\95Ï\8dX\82Ì\8f\88\97\9d ------------------------------------------\r
+/*----- ウインドウのサイズ変更の処理 ------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void ResizeWindowProc(void)\r
}\r
\r
\r
-/*----- \83E\83C\83\93\83h\83E\82Ì\8ae\95\94\95ª\82Ì\83T\83C\83Y\82ð\8cv\8eZ\82·\82é ----------------------------------\r
+/*----- ウインドウの各部分のサイズを計算する ----------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void CalcWinSize(void)\r
\r
\r
#if 0\r
-/*----- \83E\83C\83\93\83h\83E\82Ì\95\\8e¦\88Ê\92u\82ð\8eæ\93¾\82·\82é ----------------------------------------\r
+/*----- ウインドウの表示位置を取得する ----------------------------------------\r
*\r
* Parameter\r
-* HWND hWnd : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
+* HWND hWnd : ウインドウハンドル\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void AskWindowPos(HWND hWnd)\r
#endif\r
\r
\r
-/*----- \83f\83B\83\8c\83N\83g\83\8a\83\8a\83X\83g\82Æ\83t\83@\83C\83\8b\83\8a\83X\83g\82Ì\8b«\8aE\95Ï\8dX\8f\88\97\9d ----------------------\r
+/*----- ディレクトリリストとファイルリストの境界変更処理 ----------------------\r
*\r
* Parameter\r
-* WPARAM Keys : WM_MOUSEMOVE\82È\82Ç\82ÌWPARAM\82Ì\92l\r
-* int x : \83}\83E\83X\83J\81[\83\\83\8b\82Ì\82w\8dÀ\95W\r
-* int y : \83}\83E\83X\83J\81[\83\\83\8b\82Ì\82x\8dÀ\95W\r
+* WPARAM Keys : WM_MOUSEMOVEなどのWPARAMの値\r
+* int x : マウスカーソルのX座標\r
+* int y : マウスカーソルのY座標\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void CheckResizeFrame(WPARAM Keys, int x, int y)\r
if((x >= LocalWidth) && (x <= LocalWidth + SepaWidth) &&\r
(y > TOOLWIN_HEIGHT) && (y < (TOOLWIN_HEIGHT * 2 + ListHeight)))\r
{\r
- /* \8b«\8aE\88Ê\92u\95Ï\8dX\97p\83J\81[\83\\83\8b\82É\95Ï\8dX */\r
+ /* 境界位置変更用カーソルに変更 */\r
SetCapture(hWndFtp);\r
hCursor = LoadCursor(hInstFtp, MAKEINTRESOURCE(resize_lr_csr));\r
SetCursor(hCursor);\r
}\r
else if((y >= TOOLWIN_HEIGHT*2+ListHeight) && (y <= TOOLWIN_HEIGHT*2+ListHeight+SepaWidth))\r
{\r
- /* \8b«\8aE\88Ê\92u\95Ï\8dX\97p\83J\81[\83\\83\8b\82É\95Ï\8dX */\r
+ /* 境界位置変更用カーソルに変更 */\r
SetCapture(hWndFtp);\r
hCursor = LoadCursor(hInstFtp, MAKEINTRESOURCE(resize_ud_csr));\r
SetCursor(hCursor);\r
{\r
if(Keys & MK_LBUTTON)\r
{\r
- /* \8b«\8aE\88Ê\92u\95Ï\8dX\8aJ\8en */\r
+ /* 境界位置変更開始 */\r
Resizing = RESIZE_ON;\r
GetWindowRect(hWndFtp, &Rect);\r
GetClientRect(GetSbarWnd(), &Rect1);\r
((ResizePos == RESIZE_VPOS) &&\r
((y < TOOLWIN_HEIGHT*2+ListHeight) || (y > TOOLWIN_HEIGHT*2+ListHeight+SepaWidth))))\r
{\r
- /* \8c³\82Ì\83J\81[\83\\83\8b\82É\96ß\82· */\r
+ /* 元のカーソルに戻す */\r
ReleaseCapture();\r
hCursor = LoadCursor(NULL, IDC_ARROW);\r
SetCursor(hCursor);\r
\r
if((Keys & MK_LBUTTON) == 0)\r
{\r
- /* \8b«\8aE\88Ê\92u\95Ï\8dX\8fI\97¹ */\r
+ /* 境界位置変更終了 */\r
ReleaseCapture();\r
ClipCursor(NULL);\r
hCursor = LoadCursor(NULL, IDC_ARROW);\r
}\r
\r
\r
-/*----- \83t\83@\83C\83\8b\88ê\97\97\8fî\95ñ\82ð\83r\83\85\81[\83\8f\82Å\95\\8e¦ --------------------------------------\r
+/*----- ファイル一覧情報をビューワで表示 --------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void DispDirInfo(void)\r
\r
\r
\r
-/*----- \83r\83\85\81[\83\8f\82ð\8bN\93® --------------------------------------------------------\r
+/*----- ビューワを起動 --------------------------------------------------------\r
*\r
* Parameter\r
-* char Fname : \83t\83@\83C\83\8b\96¼\r
-* int App : \83A\83v\83\8a\83P\81[\83V\83\87\83\93\94Ô\8d\86\81i-1=\8aÖ\98A\82Ã\82¯\97D\90æ\81j\r
+* char Fname : ファイル名\r
+* int App : アプリケーション番号(-1=関連づけ優先)\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void ExecViewer(char *Fname, int App)\r
char ComLine[FMAX_PATH*2+3+1];\r
char CurDir[FMAX_PATH+1];\r
\r
- /* FindExecutable()\82Í\8aÖ\98A\95t\82¯\82ç\82ê\82½\83v\83\8d\83O\83\89\83\80\82Ì\83p\83X\96¼\82É\83X\83y\81[\83X\82ª */\r
- /* \8aÜ\82Ü\82ê\82Ä\82¢\82é\8e\9e\81A\8aÔ\88á\82Á\82½\83p\83X\96¼\82ð\95Ô\82·\8e\96\82ª\82 \82é\81B */\r
- /* \82»\82±\82Å\81A\8aÖ\98A\95t\82¯\82ç\82ê\82½\83v\83\8d\83O\83\89\83\80\82Ì\8bN\93®\82ÍShellExecute()\82ð\8eg\82¤\81B */\r
+ /* FindExecutable()は関連付けられたプログラムのパス名にスペースが */\r
+ /* 含まれている時、間違ったパス名を返す事がある。 */\r
+ /* そこで、関連付けられたプログラムの起動はShellExecute()を使う。 */\r
\r
AskLocalCurDir(CurDir, FMAX_PATH);\r
\r
}\r
\r
\r
-/*----- \8d·\95ª\95\\8e¦\83r\83\85\81[\83\8f\82ð\8bN\93® ------------------------------------------------\r
+/*----- 差分表示ビューワを起動 ------------------------------------------------\r
*\r
* Parameter\r
-* char Fname1 : \83t\83@\83C\83\8b\96¼\r
-* char Fname2 : \83t\83@\83C\83\8b\96¼2\r
-* int App : \83A\83v\83\8a\83P\81[\83V\83\87\83\93\94Ô\8d\86\81i2 or 3\81j\r
+* char Fname1 : ファイル名\r
+* char Fname2 : ファイル名2\r
+* int App : アプリケーション番号(2 or 3)\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void ExecViewer2(char *Fname1, char *Fname2, int App)\r
char ComLine[FMAX_PATH*2+3+1];\r
char CurDir[FMAX_PATH+1];\r
\r
- /* FindExecutable()\82Í\8aÖ\98A\95t\82¯\82ç\82ê\82½\83v\83\8d\83O\83\89\83\80\82Ì\83p\83X\96¼\82É\83X\83y\81[\83X\82ª */\r
- /* \8aÜ\82Ü\82ê\82Ä\82¢\82é\8e\9e\81A\8aÔ\88á\82Á\82½\83p\83X\96¼\82ð\95Ô\82·\8e\96\82ª\82 \82é\81B */\r
- /* \82»\82±\82Å\81A\8aÖ\98A\95t\82¯\82ç\82ê\82½\83v\83\8d\83O\83\89\83\80\82Ì\8bN\93®\82ÍShellExecute()\82ð\8eg\82¤\81B */\r
+ /* FindExecutable()は関連付けられたプログラムのパス名にスペースが */\r
+ /* 含まれている時、間違ったパス名を返す事がある。 */\r
+ /* そこで、関連付けられたプログラムの起動はShellExecute()を使う。 */\r
\r
AskLocalCurDir(CurDir, FMAX_PATH);\r
\r
- strcpy(AssocProg, ViewerName[App] + 2); /* \90æ\93ª\82Ì "d " \82Í\93Ç\82Ý\94ò\82Î\82· */\r
+ strcpy(AssocProg, ViewerName[App] + 2); /* 先頭の "d " は読み飛ばす */\r
\r
if(strchr(Fname1, ' ') == NULL && strchr(Fname2, ' ') == NULL)\r
sprintf(ComLine, "%s %s %s", AssocProg, Fname1, Fname2);\r
}\r
\r
\r
-/*----- \83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\96¼\82ð\83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\83\8a\83X\83g\82É\92Ç\89Á ------------------\r
+/*----- テンポラリファイル名をテンポラリファイルリストに追加 ------------------\r
*\r
* Parameter\r
-* char *Fname : \83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\96¼\r
+* char *Fname : テンポラリファイル名\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void AddTempFileList(char *Fname)\r
}\r
\r
\r
-/*----- \83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\83\8a\83X\83g\82É\93o\98^\82³\82ê\82Ä\82¢\82é\83t\83@\83C\83\8b\82ð\91S\82Ä\8dí\8f\9c ------------\r
+/*----- テンポラリファイルリストに登録されているファイルを全て削除 ------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
static void DeleteAlltempFile(void)\r
Pos = Next;\r
}\r
\r
- // OLE D&D\82Ì\83e\83\93\83|\83\89\83\8a\82ð\8dí\8f\9c\82·\82é (2007.9.11 yutaka)\r
+ // OLE D&Dのテンポラリを削除する (2007.9.11 yutaka)\r
doDeleteRemoteFile();\r
\r
return;\r
}\r
\r
\r
-/*----- \82`\82\82\82\8f\82\95\82\94\83_\83C\83A\83\8d\83O\83{\83b\83N\83X\82Ì\83R\81[\83\8b\83o\83b\83N\8aÖ\90\94 ------------------------\r
+/*----- Aboutダイアログボックスのコールバック関数 ------------------------\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
\r
-/*----- \83T\83E\83\93\83h\82ð\96Â\82ç\82· ------------------------------------------------------\r
+/*----- サウンドを鳴らす ------------------------------------------------------\r
*\r
* Parameter\r
-* Int num : \83T\83E\83\93\83h\82Ì\8eí\97Þ (SND_xxx)\r
+* Int num : サウンドの種類 (SND_xxx)\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void SoundPlay(int Num)\r
}\r
\r
\r
-/*----- \83w\83\8b\83v\83t\83@\83C\83\8b\82Ì\83p\83X\96¼\82ð\95Ô\82· ------------------------------------------\r
+/*----- ヘルプファイルのパス名を返す ------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* char *\83p\83X\96¼\r
+* char *パス名\r
*----------------------------------------------------------------------------*/\r
\r
char *AskHelpFilePath(void)\r
}\r
\r
\r
-/*----- \83e\83\93\83|\83\89\83\8a\83t\83@\83C\83\8b\82Ì\83p\83X\96¼\82ð\95Ô\82· --------------------------------------\r
+/*----- テンポラリファイルのパス名を返す --------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* char *\83p\83X\96¼\r
+* char *パス名\r
*----------------------------------------------------------------------------*/\r
\r
char *AskTmpFilePath(void)\r
}\r
\r
\r
-/*----- INI\83t\83@\83C\83\8b\82Ì\83p\83X\96¼\82ð\95Ô\82· ---------------------------------------------\r
+/*----- INIファイルのパス名を返す ---------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* char *\83p\83X\96¼\r
+* char *パス名\r
*----------------------------------------------------------------------------*/\r
\r
char *AskIniFilePath(void)\r
return(IniPath);\r
}\r
\r
-/*----- INI\83t\83@\83C\83\8b\82Ì\82Ý\82ð\8eg\82¤\82©\82Ç\82¤\82©\82ð\95Ô\82· -----------------------------------\r
+/*----- INIファイルのみを使うかどうかを返す -----------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X : YES/NO\r
+* int ステータス : YES/NO\r
*----------------------------------------------------------------------------*/\r
\r
int AskForceIni(void)\r
\r
\r
\r
-/*----- \83\81\83b\83Z\81[\83W\8f\88\97\9d --------------------------------------------------------\r
+/*----- メッセージ処理 --------------------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* int \8fI\97¹\83t\83\89\83O (YES=WM_CLOSE\82ª\97\88\82½/NO)\r
+* int 終了フラグ (YES=WM_CLOSEが来た/NO)\r
*----------------------------------------------------------------------------*/\r
\r
int BackgrndMessageProc(void)\r
{\r
if(!HtmlHelp(NULL, NULL, HH_PRETRANSLATEMESSAGE, (DWORD)&Msg))\r
{\r
- /* \83f\83B\83\8c\83N\83g\83\8a\96¼\82Ì\95\\8e¦\83R\83\93\83{\83{\83b\83N\83X\82ÅBS\82âRET\82ª\8cø\82\82æ\82¤\82É */\r
- /* \83R\83\93\83{\83{\83b\83N\83X\93à\82Å\82Í\83A\83N\83Z\83\89\83\8c\81[\83^\82ð\96³\8cø\82É\82·\82é */\r
+ /* ディレクトリ名の表示コンボボックスでBSやRETが効くように */\r
+ /* コンボボックス内ではアクセラレータを無効にする */\r
if((Msg.hwnd == GetLocalHistEditHwnd()) ||\r
(Msg.hwnd == GetRemoteHistEditHwnd()) ||\r
((hHelpWin != NULL) && (Msg.hwnd == hHelpWin)) ||\r
}\r
\r
\r
-/*----- \8e©\93®\8fI\97¹\83t\83\89\83O\82ð\83N\83\8a\83A\82·\82é --------------------------------------------\r
+/*----- 自動終了フラグをクリアする --------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void ResetAutoExitFlg(void)\r
}\r
\r
\r
-/*----- \8e©\93®\8fI\97¹\83t\83\89\83O\82ð\95Ô\82· --------------------------------------------------\r
+/*----- 自動終了フラグを返す --------------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* int \83t\83\89\83O (YES/NO)\r
+* int フラグ (YES/NO)\r
*----------------------------------------------------------------------------*/\r
\r
int AskAutoExit(void)\r
return(AutoExit);\r
}\r
\r
-/*----- \83\86\81[\83U\82É\83p\83X\83\8f\81[\83h\82ð\93ü\97Í\82³\82¹\81C\82»\82ê\82ð\90Ý\92è\82·\82é -----------------------\r
+/*----- ユーザにパスワードを入力させ,それを設定する -----------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* int : 0/\83\86\81[\83U\83L\83\83\83\93\83Z\83\8b, 1/\90Ý\92è\82µ\82½, 2/\83f\83t\83H\83\8b\83g\90Ý\92è\r
+* int : 0/ユーザキャンセル, 1/設定した, 2/デフォルト設定\r
*----------------------------------------------------------------------------*/\r
int EnterMasterPasswordAndSet( int Res, HWND hWnd )\r
{\r
buf[0] = NUL;\r
if( InputDialogBox(Res, hWnd, NULL, buf, MAX_PASSWORD_LEN + 1,\r
&Flag, IDH_HELP_TOPIC_0000064) == YES){\r
- /* \96\96\94ö\82Ì\8bó\94\92\82ð\8dí\8f\9c */\r
+ /* 末尾の空白を削除 */\r
RemoveTailingSpaces(buf);\r
- /* \90æ\93ª\82Ì\8bó\94\92\82ð\8dí\8f\9c */\r
+ /* 先頭の空白を削除 */\r
for( p = buf; *p == ' '; p++ )\r
;\r
\r
return 1;\r
}\r
else {\r
- /* \8bó\82Ì\8fê\8d\87\82Í\83f\83t\83H\83\8b\83g\92l\82ð\90Ý\92è */\r
+ /* 空の場合はデフォルト値を設定 */\r
SetMasterPassword( NULL );\r
return 2;\r
}\r
return 0;\r
}\r
\r
-// \88Ã\8d\86\89»\92Ê\90M\91Î\89\9e\r
+// 暗号化通信対応\r
BOOL __stdcall SSLTimeoutCallback()\r
{\r
Sleep(1);\r
if(BackgrndMessageProc() == YES)\r
return TRUE;\r
- // \94O\82Ì\82½\82ß\83c\81[\83\8b\83o\81[\82ÌMENU_ABORT\82à\8am\94F\r
+ // 念のためツールバーのMENU_ABORTも確認\r
// if(MainTransPkt.Abort != ABORT_NONE)\r
// {\r
// MainTransPkt.Abort = ABORT_NONE;\r