⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 access.c

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 C
📖 第 1 页 / 共 5 页
字号:

	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 + -