📄 access.c
字号:
tvis.hParent = NULL;
tvis.hInsertAfter = TVI_LAST;
tvis.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM;
tvis.item.iImage = IMAGE_UNCHECK;
tvis.item.iSelectedImage = IMAGE_UNCHECK;
tvis.item.lParam = 0;
tvis.item.pszText = szText;
if (PGPclIsComponentInstalled (kPGPclPGPkeys)) {
LoadString(g_hInstance, IDS_GENERAL, szText, sizeof(szText));
hItem = TreeView_InsertItem(hCtl, &tvis);
tvis.hParent = hItem;
LoadItemString(IDS_ENCRYPTTODEFAULT);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefEncryptToSelf, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefEncryptToSelf, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefEncryptToSelf);
LoadItemString(IDS_FASTKEYGEN);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefFastKeyGen, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefFastKeyGen, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefFastKeyGen);
LoadItemString(IDS_SHOWTRAY);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefShowTrayIcon, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefShowTrayIcon, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefShowTrayIcon);
LoadItemString(IDS_CACHE);
PGPGetPrefNumber(pConfig->prefRef, kPGPPrefCacheType, &nValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefCacheType, &nFlags);
switch (nValue)
{
case kPGPPrefCacheTypeNone:
wsprintf(szText, szFormat, szFalse);
break;
case kPGPPrefCacheTypeSeconds:
PGPGetPrefNumber(pConfig->prefRef, kPGPPrefCacheSeconds, &nValue);
SecondsToSystemTime(nValue, &sysTime);
strcat(szFormat, " [%02d:%02d:%02d]");
wsprintf(szText, szFormat, szTrue, sysTime.wHour, sysTime.wMinute,
sysTime.wSecond);
break;
case kPGPPrefCacheTypeLogon:
wsprintf(szText, szFormat, szTrue);
break;
}
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefCacheType);
LoadItemString(IDS_CACHESHARE);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefShareCache, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefShareCache, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefShareCache);
LoadItemString(IDS_COMMENTBLOCK);
PGPGetPrefStringBuffer(pConfig->prefRef, kPGPPrefComment, sizeof(szValue),
szValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefComment, &nFlags);
wsprintf(szText, szFormat, szValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefComment);
LoadItemString(IDS_WIPEPASSES);
PGPGetPrefNumber(pConfig->prefRef, kPGPPrefFileWipePasses, &nValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefFileWipePasses, &nFlags);
wsprintf(szText, szFormat, nValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefFileWipePasses);
LoadItemString(IDS_WARNWIPE);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefWarnOnWipe, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefWarnOnWipe, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefWarnOnWipe);
LoadItemString(IDS_AUTOWIPE);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefAutoWipeOnDelete, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefAutoWipeOnDelete, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefAutoWipeOnDelete);
LoadItemString(IDS_AUTOWIPEPROGRESS);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefShowWipeProgress, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefShowWipeProgress, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefShowWipeProgress);
UpdateCatagory();
}
if (PGPclIsComponentInstalled (kPGPclPGPtools)) {
tvis.hParent = NULL;
LoadString(g_hInstance, IDS_EMAIL, szText, sizeof(szText));
InsertItemInTree(IMAGE_UNCHECK, 0);
tvis.hParent = hItem;
LoadItemString(IDS_PGPMIME);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefMailEncryptPGPMIME, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefMailEncryptPGPMIME, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefMailEncryptPGPMIME);
LoadItemString(IDS_ENCRYPTBYDEFAULT);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefMailEncryptDefault, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefMailEncryptDefault, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefMailEncryptDefault);
LoadItemString(IDS_SIGNBYDEFAULT);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefMailSignDefault, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefMailSignDefault, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefMailSignDefault);
LoadItemString(IDS_AUTODECRYPT);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefAutoDecrypt, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefAutoDecrypt, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefAutoDecrypt);
LoadItemString(IDS_USESECUREVIEWER);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefAlwaysUseSecureViewer,
&bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefAlwaysUseSecureViewer, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefAlwaysUseSecureViewer);
LoadItemString(IDS_WORDWRAP);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefWordWrapEnable, &bValue);
PGPGetPrefNumber(pConfig->prefRef, kPGPPrefWordWrapWidth, &nValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefWordWrapEnable, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse, nValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefWordWrapEnable);
UpdateCatagory();
}
if (PGPclIsComponentInstalled (kPGPclPGPkeys)) {
tvis.hParent = NULL;
LoadString(g_hInstance, IDS_HOTKEYTITLE, szText, sizeof(szText));
InsertItemInTree(IMAGE_UNCHECK, 0);
tvis.hParent = hItem;
LoadString(g_hInstance, IDS_HOTKEYS, szText, sizeof(szText));
PGPGetPrefData(pConfig->prefRef, kPGPPrefHotKeyData, &nValue, &pHotKeys);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefHotKeyData, &nFlags);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefHotKeyData);
UpdateCatagory();
tvis.hParent = hItem;
if (pHotKeys != NULL)
{
szValue[0] = 0;
sAddHotkeySequence(pHotKeys->hotkeyPurgePassphraseCache, &bValue,
szValue);
LoadItemString(IDS_HOTKEYPURGE);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse, szValue);
InsertItemInTree(IMAGE_ITEM, 0);
szValue[0] = 0;
sAddHotkeySequence(pHotKeys->hotkeyEncrypt, &bValue, szValue);
LoadItemString(IDS_HOTKEYENCRYPT);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse, szValue);
InsertItemInTree(IMAGE_ITEM, 0);
szValue[0] = 0;
sAddHotkeySequence(pHotKeys->hotkeySign, &bValue, szValue);
LoadItemString(IDS_HOTKEYSIGN);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse, szValue);
InsertItemInTree(IMAGE_ITEM, 0);
szValue[0] = 0;
sAddHotkeySequence(pHotKeys->hotkeyEncryptSign, &bValue, szValue);
LoadItemString(IDS_HOTKEYENCRYPTSIGN);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse, szValue);
InsertItemInTree(IMAGE_ITEM, 0);
szValue[0] = 0;
sAddHotkeySequence(pHotKeys->hotkeyDecrypt, &bValue, szValue);
LoadItemString(IDS_HOTKEYDECRYPT);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse, szValue);
InsertItemInTree(IMAGE_ITEM, 0);
szValue[0] = 0;
sAddHotkeySequence(pHotKeys->hotkeyDiskUnmount, &bValue, szValue);
LoadItemString(IDS_HOTKEYUNMOUNT);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse, szValue);
InsertItemInTree(IMAGE_ITEM, 0);
PGPFreeData(pHotKeys);
}
tvis.hParent = NULL;
LoadString(g_hInstance, IDS_SERVERS, szText, sizeof(szText));
InsertItemInTree(IMAGE_UNCHECK, 0);
tvis.hParent = hItem;
LoadItemString(IDS_KEYSERVERS);
PGPGetKeyServerPrefs(pConfig->prefRef, &aKeyServer, &nNumServers);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefKeyServerList, &nFlags);
strcpy(szText, szFormat);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefKeyServerList);
hParent = tvis.hParent;
tvis.hParent = hItem;
for (nIndex=0; nIndex<nNumServers; nIndex++)
{
wsprintf(szText, "%s:%d", aKeyServer[nIndex].serverDNS,
aKeyServer[nIndex].serverPort);
if (aKeyServer[nIndex].flags & kKeyServerIsRoot)
strcat(szText, " (root)");
if (aKeyServer[nIndex].flags & kKeyServerListed)
strcat(szText, " (listed)");
InsertItemInTree(IMAGE_ITEM, 0);
}
PGPFreeKeyServerList(aKeyServer);
tvis.hParent = hParent;
LoadItemString(IDS_SYNCENCRYPT);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefKeyServerSyncUnknownKeys,
&bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefKeyServerSyncUnknownKeys,
&nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefKeyServerSyncUnknownKeys);
LoadItemString(IDS_SYNCSIGN);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefKeyServerSyncOnKeySign,
&bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefKeyServerSyncOnKeySign,
&nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefKeyServerSyncOnKeySign);
LoadItemString(IDS_SYNCADD);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefKeyServerSyncOnAdd, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefKeyServerSyncOnAdd, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefKeyServerSyncOnAdd);
LoadItemString(IDS_SYNCREVOKE);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefKeyServerSyncOnRevocation,
&bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefKeyServerSyncOnRevocation,
&nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefKeyServerSyncOnRevocation);
LoadItemString(IDS_SYNCVERIFY);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefKeyServerSyncOnVerify,
&bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefKeyServerSyncOnVerify,
&nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefKeyServerSyncOnVerify);
UpdateCatagory();
tvis.hParent = NULL;
LoadString(g_hInstance, IDS_CA, szText, sizeof(szText));
InsertItemInTree(IMAGE_UNCHECK, 0);
tvis.hParent = hItem;
LoadItemString(IDS_CAURL);
PGPGetPrefStringBuffer(pConfig->prefRef, kPGPPrefCAServerURL,
sizeof(szValue), szValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefCAServerURL, &nFlags);
wsprintf(szText, szFormat, szValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefCAServerURL);
LoadItemString(IDS_CAREVOKEURL);
PGPGetPrefStringBuffer(pConfig->prefRef, kPGPPrefCARevocationServerURL,
sizeof(szValue), szValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefCARevocationServerURL, &nFlags);
wsprintf(szText, szFormat, szValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefCARevocationServerURL);
LoadItemString(IDS_CATYPE);
switch (pConfig->nCAType)
{
case kPGPKeyServerClass_Invalid:
LoadString(g_hInstance, IDS_CAINVALID, szValue, sizeof(szValue));
break;
case kPGPKeyServerClass_NetToolsCA:
LoadString(g_hInstance, IDS_CANETTOOLS, szValue, sizeof(szValue));
break;
case kPGPKeyServerClass_Verisign:
LoadString(g_hInstance, IDS_CAVERISIGN, szValue, sizeof(szValue));
break;
case kPGPKeyServerClass_Entrust:
LoadString(g_hInstance, IDS_CAENTRUST, szValue, sizeof(szValue));
break;
case kPGPKeyServerClass_Netscape:
LoadString(g_hInstance, IDS_CANETSCAPE, szValue, sizeof(szValue));
break;
case kPGPKeyServerClass_Microsoft:
LoadString(g_hInstance, IDS_CAMICROSOFT, szValue, sizeof(szValue));
break;
}
wsprintf(szText, szFormat, szValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefCAType, &nFlags);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefCAType);
LoadItemString(IDS_CACERT);
PGPGetPrefData(pConfig->prefRef, kPGPPrefCARootKeyID, &nValue, &pData);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefCARootKeyID, &nFlags);
if (pData != NULL)
{
sGetKeyUserID(pConfig->keyDB, pData, szValue, sizeof(szValue));
PGPFreeData(pData);
}
else
strcpy(szValue, "None");
wsprintf(szText, szFormat, szValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefCARootKeyID);
UpdateCatagory();
tvis.hParent = NULL;
LoadString(g_hInstance, IDS_ADVANCED, szText, sizeof(szText));
InsertItemInTree(IMAGE_UNCHECK, 0);
tvis.hParent = hItem;
LoadItemString(IDS_PREFERREDALG);
PGPGetPrefNumber(pConfig->prefRef, kPGPPrefPreferredAlgorithm, &nValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefPreferredAlgorithm, &nFlags);
switch (nValue)
{
case kPGPCipherAlgorithm_CAST5:
strcpy(szValue, "CAST");
break;
case kPGPCipherAlgorithm_IDEA:
strcpy(szValue, "IDEA");
break;
case kPGPCipherAlgorithm_3DES:
strcpy(szValue, "TripleDES");
break;
case kPGPCipherAlgorithm_Twofish256:
strcpy(szValue, "Twofish");
break;
case kPGPCipherAlgorithm_AES256:
case kPGPCipherAlgorithm_AES192:
case kPGPCipherAlgorithm_AES128:
strcpy(szValue, "AES");
break;
}
wsprintf(szText, szFormat, szValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefPreferredAlgorithm);
LoadItemString(IDS_ALLOWEDALGS);
PGPGetPrefArray(pConfig->prefRef, kPGPPrefAllowedAlgorithmsList,
&prefArray);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefAllowedAlgorithmsList, &nFlags);
szValue[0] = 0;
bAES = FALSE;
for (nIndex=0; nIndex<prefArray->numElements; nIndex++)
{
PGPGetPrefArrayNumber(pConfig->prefRef, prefArray, nIndex, &nValue);
switch (nValue)
{
case kPGPCipherAlgorithm_CAST5:
strcat(szValue, "CAST");
break;
case kPGPCipherAlgorithm_IDEA:
strcat(szValue, "IDEA");
break;
case kPGPCipherAlgorithm_3DES:
strcat(szValue, "TripleDES");
break;
case kPGPCipherAlgorithm_Twofish256:
strcat(szValue, "Twofish");
break;
case kPGPCipherAlgorithm_AES256:
case kPGPCipherAlgorithm_AES192:
case kPGPCipherAlgorithm_AES128:
if (!bAES)
{
strcat(szValue, "AES");
bAES = TRUE;
}
break;
}
if (nIndex < (prefArray->numElements - 1))
strcat(szValue, ", ");
}
PGPFreePrefArray(prefArray);
wsprintf(szText, szFormat, szValue);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefAllowedAlgorithmsList);
LoadItemString(IDS_DISPLAYMARGINAL);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefDisplayMarginalValidity,
&bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefDisplayMarginalValidity,
&nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefDisplayMarginalValidity);
LoadItemString(IDS_MARGINALINVALID);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefMarginalIsInvalid, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefMarginalIsInvalid, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefMarginalIsInvalid);
LoadItemString(IDS_WARNADK);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefWarnOnADK, &bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefWarnOnADK, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefWarnOnADK);
LoadItemString(IDS_EXPORTFORMAT);
PGPGetPrefBoolean(pConfig->prefRef, kPGPPrefExportKeysCompatible,
&bValue);
PGPGetPrefFlags(pConfig->prefRef, kPGPPrefExportKeysCompatible, &nFlags);
wsprintf(szText, szFormat, bValue ? szTrue : szFalse);
InsertItemInTree(PREFFLAGS_DISABLEGUI, kPGPPrefExportKeysCompatible);
LoadItemString(IDS_BACKUPKEYRING);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -