X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=registry.c;h=95fada4518c7fe90d1a0f92875da8e525f7080cc;hb=refs%2Fheads%2F1.98e;hp=be28d9cc0e36f481f0125619013473fb5a0f3c8b;hpb=0753f12ff930efe77518679bf9523cb63efbb7f7;p=ffftp%2Fffftp.git diff --git a/registry.c b/registry.c index be28d9c..95fada4 100644 --- a/registry.c +++ b/registry.c @@ -195,6 +195,8 @@ extern BYTE CertificateCacheHash[MAX_CERT_CACHE_HASH][20]; extern BYTE SSLRootCAFileHash[20]; // ファイルアイコン表示対応 extern int DispFileIcon; +// ディレクトリ自動作成 +extern int MakeAllDir; /*----- マスタパスワードの設定 ---------------------------------------------- * @@ -293,7 +295,7 @@ int ValidateMasterPassword(void) * なし *----------------------------------------------------------------------------*/ -void SaveRegistory(void) +void SaveRegistry(void) { void *hKey3; void *hKey4; @@ -615,6 +617,8 @@ void SaveRegistory(void) WriteStringToReg(hKey4, "RootCertHash", Str); // ファイルアイコン表示対応 WriteIntValueToReg(hKey4, "ListIcon", DispFileIcon); + // ディレクトリ自動作成 + WriteIntValueToReg(hKey4, "MakeDir", MakeAllDir); } CloseSubKey(hKey4); } @@ -635,7 +639,7 @@ void SaveRegistory(void) * NO: 読み出し失敗(設定無し) *----------------------------------------------------------------------------*/ -int LoadRegistory(void) +int LoadRegistry(void) { void *hKey3; void *hKey4; @@ -992,6 +996,8 @@ int LoadRegistory(void) StrReadIn(Buf, sizeof(SSLRootCAFileHash), (char*)&SSLRootCAFileHash); // ファイルアイコン表示対応 ReadIntValueFromReg(hKey4, "ListIcon", &DispFileIcon); + // ディレクトリ自動作成 + ReadIntValueFromReg(hKey4, "MakeDir", &MakeAllDir); CloseSubKey(hKey4); } @@ -1033,7 +1039,7 @@ int LoadRegistory(void) * YES/NO=設定無し *----------------------------------------------------------------------------*/ -DWORD LoadHideDriveListRegistory(void) +DWORD LoadHideDriveListRegistry(void) { HKEY hKey1; HKEY hKey2; @@ -1085,7 +1091,7 @@ DWORD LoadHideDriveListRegistory(void) * なし *----------------------------------------------------------------------------*/ -void ClearRegistory(void) +void ClearRegistry(void) { HKEY hKey2; HKEY hKey3; @@ -1124,6 +1130,20 @@ void ClearRegistory(void) } +// ポータブル版判定 +void ClearIni(void) +{ +// FILE *Strm; +// if((Strm = fopen(AskIniFilePath(), "rt")) != NULL) +// { +// fclose(Strm); +// MoveFileToTrashCan(AskIniFilePath()); +// } + DeleteFile(AskIniFilePath()); + return; +} + + /*----- 設定をファイルに保存 -------------------------------------------------- * * Parameter @@ -1960,18 +1980,20 @@ static int CloseReg(void *Handle) { REGDATATBL *Pos; REGDATATBL *Next; - FILE *Strm; + // ポータブル版判定 +// FILE *Strm; if(TmpRegType == REGTYPE_REG) { RegCloseKey(Handle); /* INIファイルを削除 */ - if((Strm = fopen(AskIniFilePath(), "rt")) != NULL) - { - fclose(Strm); - MoveFileToTrashCan(AskIniFilePath()); - } + // ポータブル版判定 +// if((Strm = fopen(AskIniFilePath(), "rt")) != NULL) +// { +// fclose(Strm); +// MoveFileToTrashCan(AskIniFilePath()); +// } } else { @@ -1980,7 +2002,7 @@ static int CloseReg(void *Handle) if(WriteOutRegToFile(Handle) == TRUE) { // /* レジストリをクリア */ -// ClearRegistory(); +// ClearRegistry(); } } /* テーブルを削除 */ @@ -2921,3 +2943,33 @@ DWORD GetRandamDWRODValue(void) } return rndValue; } + +// ポータブル版判定 +int IsRegAvailable() +{ + int Sts; + void* h; + Sts = NO; + SetRegType(REGTYPE_REG); + if(OpenReg("FFFTP", &h) == FFFTP_SUCCESS) + { + CloseReg(h); + Sts = YES; + } + return Sts; +} + +int IsIniAvailable() +{ + int Sts; + void* h; + Sts = NO; + SetRegType(REGTYPE_INI); + if(OpenReg("FFFTP", &h) == FFFTP_SUCCESS) + { + CloseReg(h); + Sts = YES; + } + return Sts; +} +