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

📄 commonwndproc.c

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 C
字号:
/*____________________________________________________________________________
	Copyright (C) 2002 PGP Corporation
	All rights reserved.

	$Id: CommonWndProc.c,v 1.4 2002/08/06 20:10:08 dallen Exp $
____________________________________________________________________________*/

#include <windows.h>
#include <commctrl.h>
#include "PluginInfo.h"
#include "HookProcs.h"
#include "UIutils.h"
#include "pgpClientLib.h"
#include "resource.h"


LRESULT CALLBACK CommonWndProc(HWND hDlg, 
							   UINT msg,
							   WPARAM wParam, 
							   LPARAM lParam)
{
	WNDPROC lpOldProc;
	PluginInfo *plugin;

	lpOldProc = (WNDPROC)GetProp( hDlg, "oldproc" );
	plugin = GetPluginInfo(hDlg);

	switch(msg)
	{
	case WM_DESTROY:
		{
			FreePluginInfo(plugin);
			break;
		}

	case WM_MENUSELECT:
		{
			UINT uFlags = (UINT) HIWORD(wParam);
			char szText[255];
			BOOL bPluginMenu = FALSE;

			if (uFlags & MF_POPUP)
			{
				if (LOWORD(wParam) == plugin->nPGPPosition)
				{
					UIGetString(szText, 254, IDS_STATUS_PGP);
					bPluginMenu = TRUE;
				}
			}

			switch(LOWORD(wParam))
			{
				case IDC_PREFS:
				{
					UIGetString(szText, 254, IDS_STATUS_PREFS);
					bPluginMenu = TRUE;
					break;
				}
								
				case IDC_PGPKEYS:
				{
					UIGetString(szText, 254, IDS_STATUS_PGPKEYS);
					bPluginMenu = TRUE;
					break;
				}
			}	

			if (bPluginMenu)
			{
				CallWindowProc(lpOldProc, hDlg, msg, wParam, lParam);
				SendMessage(plugin->hStatusBar, SB_SETTEXT, 
					255 | SBT_NOBORDERS, (LPARAM) szText);

				return 0;
			}

			break;
		}

	case WM_COMMAND:
		{
			switch(LOWORD(wParam))
			{
			case IDC_PREFS:
				{
					PGPclPreferences(plugin->pgpContext, hDlg, 
						kPGPclEmailPrefs, NULL);
					return 0;
				}

			case IDC_PGPKEYS:
				{
					char szPath[MAX_PATH];
					PGPError err;
					
					err = PGPclGetPath(kPGPclPGPkeysExeFile, 
						szPath, MAX_PATH-1);
					if (IsPGPError(err))
					{
						UIDisplayStringID(hDlg, IDS_E_NOPGPKEYS);
						return 0;
					}

					PGPclExecute(szPath, SW_SHOW);
					return 0;
				}
			}

			break;
		}
	}

	return CallWindowProc(lpOldProc, hDlg, msg, wParam, lParam);
}


/*__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 + -