📄 passphrase.c
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: PassPhrase.c,v 1.8 2002/08/06 20:09:14 dallen Exp $
____________________________________________________________________________*/
#include <windows.h>
#include "PGPadmin.h"
#include "resource.h"
#include "PGPadminHelp.h"
#include "pgpClientLib.h"
static void sInitGUI(HWND hwndDlg, pgpConfigInfo *pConfig);
static DWORD aHelpIds[] = {
IDC_ENFORCE_MINCHARS, IDH_PGPADMIN_ENFORCE_MINCHARS,
IDC_MINCHARS, IDH_PGPADMIN_MINCHARS,
IDC_ENFORCE_MINQUALITY, IDH_PGPADMIN_ENFORCE_MINQUALITY,
IDC_MINQUALITY, IDH_PGPADMIN_MINQUALITY,
IDC_PASSLABEL1, -1,
IDC_PASSLABEL2, -1,
IDC_QUALLABEL1, -1,
IDC_QUALLABEL2, -1,
0,0
};
BOOL CALLBACK PassPhraseDlgProc(HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
BOOL bReturnCode = FALSE;
pgpConfigInfo * pConfig = NULL;
g_hCurrentDlgWnd = hwndDlg;
pConfig = (pgpConfigInfo *) GetWindowLong(hwndDlg, GWL_USERDATA);
switch(uMsg)
{
case WM_INITDIALOG:
CommonDlgProc(hwndDlg, uMsg, wParam, lParam);
pConfig = (pgpConfigInfo *) GetWindowLong(hwndDlg, GWL_USERDATA);
sInitGUI(hwndDlg, pConfig);
break;
case WM_HELP:
case WM_CONTEXTMENU:
return PGPclHtmlHelp (hwndDlg, uMsg, wParam, lParam,
(char *) kPGPclAdminHelpFile, aHelpIds);
case WM_NOTIFY:
{
LPNMHDR pnmh;
pnmh = (LPNMHDR) lParam;
switch(pnmh->code)
{
case PSN_HELP:
PGPclHtmlHelp (hwndDlg, kPGPclHelpContext, 0, 0,
(char *) kPGPclAdminHelpFile,
(DWORD *) IDH_PGPADMIN_PASSPHRASEDIALOG);
break;
case PSN_KILLACTIVE:
{
char szErrorMsg[255];
char szTitle[255];
BOOL bError = FALSE;
HWND hwndCtrl;
bReturnCode = TRUE;
LoadString(g_hInstance, IDS_TITLE, szTitle, 254);
// Check data validity
if (pConfig->bEnforceMinChars)
{
if ((pConfig->nMinChars < 5) ||
(pConfig->nMinChars > 128))
{
LoadString(g_hInstance, IDS_E_MINCHARSRANGE,
szErrorMsg, 254);
hwndCtrl = GetDlgItem(hwndDlg, IDC_MINCHARS);
bError = TRUE;
}
}
if (pConfig->bEnforceMinQuality && !bError)
{
if ((pConfig->nMinQuality < 20) ||
(pConfig->nMinQuality > 100))
{
LoadString(g_hInstance, IDS_E_MINQUALRANGE,
szErrorMsg, 254);
hwndCtrl = GetDlgItem(hwndDlg, IDC_MINQUALITY);
bError = TRUE;
}
}
if (bError)
{
MessageBox(hwndDlg, szErrorMsg, szTitle, MB_OK);
SetFocus(hwndCtrl);
SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
}
break;
}
default:
bReturnCode = CommonDlgProc(hwndDlg, uMsg, wParam, lParam);
break;
}
break;
}
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_ENFORCE_MINCHARS:
{
if (IsDlgButtonChecked(hwndDlg, IDC_ENFORCE_MINCHARS) ==
BST_CHECKED)
{
pConfig->bEnforceMinChars = TRUE;
}
else
{
pConfig->bEnforceMinChars = FALSE;
}
sInitGUI(hwndDlg, pConfig);
bReturnCode = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
break;
}
case IDC_ENFORCE_MINQUALITY:
{
if (IsDlgButtonChecked(hwndDlg, IDC_ENFORCE_MINQUALITY) ==
BST_CHECKED)
{
pConfig->bEnforceMinQuality = TRUE;
}
else
{
pConfig->bEnforceMinQuality = FALSE;
}
sInitGUI(hwndDlg, pConfig);
bReturnCode = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
break;
}
case IDC_MINCHARS:
{
char szMinChars[10];
GetWindowText(GetDlgItem(hwndDlg, IDC_MINCHARS),
szMinChars, 10);
pConfig->nMinChars = atoi(szMinChars);
bReturnCode = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
break;
}
case IDC_MINQUALITY:
{
char szMinQuality[10];
GetWindowText(GetDlgItem(hwndDlg, IDC_MINQUALITY),
szMinQuality, 10);
pConfig->nMinQuality = atoi(szMinQuality);
bReturnCode = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
break;
}
}
break;
default:
bReturnCode = CommonDlgProc(hwndDlg, uMsg, wParam, lParam);
break;
}
return(bReturnCode);
}
static void sInitGUI(HWND hwndDlg, pgpConfigInfo *pConfig)
{
char szMinChars[10];
char szMinQuality[10];
if (pConfig->bEnforceMinChars)
CheckDlgButton(hwndDlg, IDC_ENFORCE_MINCHARS, BST_CHECKED);
else
CheckDlgButton(hwndDlg, IDC_ENFORCE_MINCHARS, BST_UNCHECKED);
EnableWindow(GetDlgItem(hwndDlg, IDC_PASSLABEL1),
pConfig->bEnforceMinChars);
EnableWindow(GetDlgItem(hwndDlg, IDC_PASSLABEL2),
pConfig->bEnforceMinChars);
EnableWindow(GetDlgItem(hwndDlg, IDC_MINCHARS),
pConfig->bEnforceMinChars);
if (pConfig->bEnforceMinQuality)
CheckDlgButton(hwndDlg, IDC_ENFORCE_MINQUALITY, BST_CHECKED);
else
CheckDlgButton(hwndDlg, IDC_ENFORCE_MINQUALITY, BST_UNCHECKED);
EnableWindow(GetDlgItem(hwndDlg, IDC_QUALLABEL1),
pConfig->bEnforceMinQuality);
EnableWindow(GetDlgItem(hwndDlg, IDC_QUALLABEL2),
pConfig->bEnforceMinQuality);
EnableWindow(GetDlgItem(hwndDlg, IDC_MINQUALITY),
pConfig->bEnforceMinQuality);
wsprintf(szMinChars, "%d", pConfig->nMinChars);
SetWindowText(GetDlgItem(hwndDlg, IDC_MINCHARS), szMinChars);
wsprintf(szMinQuality, "%d", pConfig->nMinQuality);
SetWindowText(GetDlgItem(hwndDlg, IDC_MINQUALITY), szMinQuality);
return;
}
/*__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 + -