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

📄 proc.c

📁 vc环境下的pgp源码
💻 C
📖 第 1 页 / 共 2 页
字号:

						if((DragRect->right - DragRect->left) > smallSizeX + 5)
						{
							DragRect->right = DragRect->left + largeSizeX;
							DragRect->bottom = DragRect->top + largeSizeY;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}
						break;

					case WMSZ_LEFT:
						if((DragRect->right - DragRect->left) < largeSizeX - 5)
						{
							DragRect->left = DragRect->right - smallSizeX;
							DragRect->bottom = DragRect->top + smallSizeY;

							if(LargeMode)
							{
								SmallPGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->right - DragRect->left) > smallSizeX + 5)
						{
							DragRect->left = DragRect->right - largeSizeX;
							DragRect->bottom = DragRect->top + largeSizeY;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}
						break;

					case WMSZ_RIGHT:
						if((DragRect->right - DragRect->left) < largeSizeX - 5)
						{
							DragRect->right = DragRect->left + smallSizeX;
							DragRect->bottom = DragRect->top + smallSizeY;

							if(LargeMode)
							{
								SmallPGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->right - DragRect->left) > smallSizeX + 5)
						{
							DragRect->right = DragRect->left + largeSizeX;
							DragRect->bottom = DragRect->top + largeSizeY;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}
						break;

					case WMSZ_TOP:
						if((DragRect->bottom - DragRect->top) < largeSizeY - 5)
						{
							DragRect->top = DragRect->bottom - smallSizeY;
							DragRect->right = DragRect->left + smallSizeX;

							if(LargeMode)
							{
								SmallPGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->bottom - DragRect->top) > smallSizeY + 5)
						{
							DragRect->top = DragRect->bottom - largeSizeY;
							DragRect->right = DragRect->left + largeSizeX;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}
						break;

					case WMSZ_TOPLEFT:
						if((DragRect->bottom - DragRect->top) < largeSizeY - 5)
						{
							DragRect->top = DragRect->bottom - smallSizeY;
							DragRect->left = DragRect->right - smallSizeX;

							if(LargeMode)
							{
								SmallPGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->bottom - DragRect->top) > smallSizeY + 5)
						{
							DragRect->top = DragRect->bottom - largeSizeY;
							DragRect->left = DragRect->right - largeSizeX;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->right - DragRect->left) < largeSizeX - 5)
						{
							DragRect->left = DragRect->right - smallSizeX;
							DragRect->bottom = DragRect->top + smallSizeY;

							if(LargeMode)
							{
								SmallPGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->right - DragRect->left) > smallSizeX + 5)
						{
							DragRect->left = DragRect->right - largeSizeX;
							DragRect->bottom = DragRect->top + largeSizeY;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}
						break;

					case WMSZ_TOPRIGHT:
						if((DragRect->bottom - DragRect->top) < largeSizeY - 5)
						{
							DragRect->top = DragRect->bottom - smallSizeY;
							DragRect->right = DragRect->left + smallSizeX;

							if(LargeMode)
							{
								SmallPGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->bottom - DragRect->top) > smallSizeY + 5)
						{
							DragRect->top = DragRect->bottom - largeSizeY;
							DragRect->right = DragRect->left + largeSizeX;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->right - DragRect->left) < largeSizeX - 5)
						{
							DragRect->right = DragRect->left + smallSizeX;
							DragRect->bottom = DragRect->top + smallSizeY;

							if(LargeMode)
							{
								SmallPGPtools();
								//MoveButtons(hwnd);
							}
						}

						if((DragRect->right - DragRect->left) > smallSizeX + 5)
						{
							DragRect->right = DragRect->left + largeSizeX;
							DragRect->bottom = DragRect->top + largeSizeY;

							if(!LargeMode)
							{
								LargePGPtools();
								//MoveButtons(hwnd);
							}
						}
						break;
				}
			}
			return 0;
		}

		case WM_COMMAND:
		{
			switch(LOWORD(wParam))
			{
				case IDC_RESIZE:
				{
					if(LargeMode)
						SmallPGPtools();
					else
						LargePGPtools();

					MoveButtons(hwnd);
					break;
				}

				case IDC_EDITCLIP:
				{
					LaunchInternalViewer(PGPsc,hwnd);
					break;
				}
			
				case IDC_HELPTOPICS:
				{
					char HelpFile[MAX_PATH];

					PGPpath(HelpFile);
					strcat(HelpFile,"PGP.hlp");

					WinHelp(hwnd, HelpFile, HELP_FINDER, 0);
					break;
				}

				case IDC_PGPPREFS:
				{
					PGPscPreferences(hwnd,PGPsc,PGPtls);
					break;
				}

				case IDC_ABOUTPGP:
				{
					PGPscAbout(hwnd,PGPsc);
					break;
				}

				case IDC_KEYS:
				{
					DoLaunchKeys(hwnd);
					break;
				}

				case IDC_ENCRYPT:
				case IDC_SIGN:
				case IDC_ENCSIGN:
				{
					BOOL bEncrypt,bSign;
					FILELIST *ListHead;
					char Prompt[100];
					char Filter[100];

					ListHead=0;
					bEncrypt=bSign=FALSE;

					if(LOWORD(wParam)==IDC_ENCRYPT)
					{
						bEncrypt = TRUE;
						LoadString (g_hinst, IDS_SELFILEENC, Prompt, sizeof(Prompt));
					}

					if(LOWORD(wParam)==IDC_SIGN)
					{
						bSign = TRUE;
						LoadString (g_hinst, IDS_SELFILESIGN, Prompt, sizeof(Prompt));
					}

					if(LOWORD(wParam)==IDC_ENCSIGN)
					{
						bEncrypt = bSign = TRUE;
						LoadString (g_hinst, IDS_SELFILEENCSIGN, Prompt, sizeof(Prompt));
					}

					LoadString (g_hinst, IDS_ALLFILES, Filter, sizeof(Filter));
					while (p = strrchr (Filter, '@')) *p = '\0';

					if(GetFileName(hwnd,
						Prompt,
						&ListHead,TRUE,
						Filter))
					{
						if(ListHead==0)
						{
							ReturnCode = EncryptClipboard(hwnd,szApp,PGPsc,PGPtls, bEncrypt, bSign);
						}
						else
						{
							ReturnCode = EncryptFileList(hwnd,szApp,PGPsc,PGPtls,
								ListHead,
								bEncrypt, 
								bSign);
						}
					}					
					break;
				}  

				case IDC_DECRYPT:
				{
					FILELIST *ListHead;
					char Prompt[100];
					char Filter[200];

					ListHead=0;

					LoadString (g_hinst, IDS_SELFILEDECVER, Prompt, sizeof(Prompt));
					LoadString (g_hinst, IDS_PGPFILES, Filter, sizeof(Filter));
					while (p = strrchr (Filter, '@')) *p = '\0';

					if(GetFileName(hwnd,
						Prompt,
						&ListHead,TRUE,
						Filter))
					{
						if(ListHead==0)
						{
							ReturnCode = DecryptClipboard(hwnd,szApp,PGPsc,PGPtls);
						}
						else
						{
							ReturnCode = DecryptFileList(hwnd,szApp,PGPsc,PGPtls,
								ListHead);	
						}
					}					
					break;
				}   

				case IDC_WIPE:
				{
					{
						FILELIST *ListHead;
						char Prompt[100];
						char Filter[200];

						ListHead=0;

						LoadString (g_hinst, IDS_SELFILEWIPE, Prompt, sizeof(Prompt));
						LoadString (g_hinst, IDS_ALLFILES, Filter, sizeof(Filter));
						while (p = strrchr (Filter, '@')) *p = '\0';

						if(GetFileName(hwnd,
							Prompt,
							&ListHead,FALSE,
							Filter))
						{
							if(ListHead!=0)
							{
								ReturnCode = WipeFileList(hwnd,PGPsc,
									ListHead,TRUE);	
							}
						}
					}
					break;
				}

				case IDC_FREESPACE_WIPE:
				{
					FreeSpaceWipeWizard(hwnd, PGPsc);
					break;
				}

				case IDC_ADDKEY:
				{
					FILELIST *ListHead;
					char Prompt[100];
					char Filter[200];

					ListHead=0;

					LoadString (g_hinst, IDS_SELFILEADD, Prompt, sizeof(Prompt));
					LoadString (g_hinst, IDS_KEYFILES, Filter, sizeof(Filter));
					while (p = strrchr (Filter, '@')) *p = '\0';

					if(GetFileName(hwnd,
						Prompt,
						&ListHead,TRUE,
						Filter))
					{
						if(ListHead==0)
						{
							ReturnCode = AddKeyClipboard(hwnd,PGPsc,PGPtls);
						}
						else
						{
							ReturnCode = AddKeyFileList(hwnd,PGPsc,PGPtls,
								ListHead);	
						}
					}					
					break;
				}

				case IDC_QUIT:
				{
					PostQuitMessage (0) ;
					break;
				}
			}   
			break;
		}
               			  
		case WM_CLOSE:
		case WM_DESTROY :
		{
			RememberPosition(hwnd);
			DeleteObject(hFont);
			PostQuitMessage (0) ;
			return 0 ;     
		}
	}
 
    return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}

void RememberOnTop(BOOL bOnTop)
{
	HKEY	hKey;
	LONG	lResult;
	DWORD	dw = 0;
	char	path[] = "Software\\Network Associates\\PGP\\PGPtools";
	
	dw = bOnTop;

	lResult = RegOpenKeyEx(	HKEY_LOCAL_MACHINE,
							path, 
							0, 
							KEY_ALL_ACCESS, 
							&hKey);

	if (lResult == ERROR_SUCCESS) 
	{
		RegSetValueEx (	hKey, 
						"StayOnTop", 
						0, 
						REG_DWORD, 
						(LPBYTE)&dw, 
						sizeof(dw));
	}
}

BOOL IsOnTop()
{
	HKEY	hKey;
	LONG	lResult;
	DWORD	dw;
	char	path[] = "Software\\Network Associates\\PGP\\PGPtools";

	lResult = RegOpenKeyEx(	HKEY_LOCAL_MACHINE,
							path, 
							0, 
							KEY_ALL_ACCESS, 
							&hKey);

	if (lResult == ERROR_SUCCESS) 
	{
		DWORD  size = sizeof(dw);
		DWORD  type = 0;

		RegQueryValueEx(hKey, 
						"StayOnTop", 
						0, 
						&type, 
						(LPBYTE)&dw, 
						&size);
	}
	else // Init Values
	{
		lResult = RegCreateKeyEx (	HKEY_LOCAL_MACHINE, 
									path, 
									0, 
									NULL,
									REG_OPTION_NON_VOLATILE, 
									KEY_ALL_ACCESS, 
									NULL, 
									&hKey, 
									&dw);

		if (lResult == ERROR_SUCCESS) 
		{
			dw = 0;

			RegSetValueEx (	hKey, 
							"StayOnTop", 
							0, 
							REG_DWORD, 
							(LPBYTE)&dw, 
							sizeof(dw));
			dw = 110;

			RegSetValueEx (	hKey, 
						"xPos", 
						0, 
						REG_DWORD, 
						(LPBYTE)&dw, 
						sizeof(dw));

			dw = 1;

			RegSetValueEx (	hKey, 
						"yPos", 
						0, 
						REG_DWORD, 
						(LPBYTE)&dw, 
						sizeof(dw));

			dw = 1;

			RegSetValueEx (	hKey, 
							"size", 
							0, 
							REG_DWORD, 
							(LPBYTE)&dw, 
							sizeof(dw));

			RegCloseKey (hKey);

		}
	}

	return (BOOL)dw;
}

void RememberPosition(HWND hwnd)
{
	HKEY	hKey;
	LONG	lResult;
	DWORD	dw = 0;
	char	path[] = "Software\\Network Associates\\PGP\\PGPtools";
	RECT rect;

	GetWindowRect(hwnd, &rect);
	

	lResult = RegOpenKeyEx(	HKEY_LOCAL_MACHINE,
							path, 
							0, 
							KEY_ALL_ACCESS, 
							&hKey);

	if (lResult == ERROR_SUCCESS) 
	{
		dw = rect.left;

		RegSetValueEx (	hKey, 
						"xPos", 
						0, 
						REG_DWORD, 
						(LPBYTE)&dw, 
						sizeof(dw));

		dw = rect.top;

		RegSetValueEx (	hKey, 
						"yPos", 
						0, 
						REG_DWORD, 
						(LPBYTE)&dw, 
						sizeof(dw));

		dw = LargeMode;

		RegSetValueEx (	hKey, 
						"size", 
						0, 
						REG_DWORD, 
						(LPBYTE)&dw, 
						sizeof(dw));
	}

}

void GetSavedPosition(POINT* pt, BOOL* bLarge)
{
	HKEY	hKey;
	LONG	lResult;
	DWORD	dw;
	char	path[] = "Software\\Network Associates\\PGP\\PGPtools";

	lResult = RegOpenKeyEx(	HKEY_LOCAL_MACHINE,
							path, 
							0, 
							KEY_ALL_ACCESS, 
							&hKey);

	if (lResult == ERROR_SUCCESS) 
	{
		DWORD  size = sizeof(dw);
		DWORD  type = 0;

		RegQueryValueEx(hKey, 
						"xPos", 
						0, 
						&type, 
						(LPBYTE)&dw, 
						&size);
		pt->x = dw;
		size = sizeof(dw);

		RegQueryValueEx(hKey, 
						"yPos", 
						0, 
						&type, 
						(LPBYTE)&dw, 
						&size);
		pt->y = dw;
		size = sizeof(dw);

		RegQueryValueEx(hKey, 
						"size", 
						0, 
						&type, 
						(LPBYTE)&dw, 
						&size);

		*bLarge = dw;

		RegCloseKey (hKey);
	}
}


/*__Editor_settings____

	Local Variables:
	tab-width: 4
	End:
	vi: ts=4 sw=4
	vim: si
_____________________*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -