+ case WM_HELP:
+ if (help_path) {
+ int id = ((LPHELPINFO)lParam)->iCtrlId;
+ char *cmd = NULL;
+ switch (id) {
+ case IDC_GENERATING:
+ case IDC_PROGRESS:
+ case IDC_GENSTATIC:
+ case IDC_GENERATE:
+ cmd = "JI(`',`puttygen.generate')"; break;
+ case IDC_PKSTATIC:
+ case IDC_KEYDISPLAY:
+ cmd = "JI(`',`puttygen.pastekey')"; break;
+ case IDC_FPSTATIC:
+ case IDC_FINGERPRINT:
+ cmd = "JI(`',`puttygen.fingerprint')"; break;
+ case IDC_COMMENTSTATIC:
+ case IDC_COMMENTEDIT:
+ cmd = "JI(`',`puttygen.comment')"; break;
+ case IDC_PASSPHRASE1STATIC:
+ case IDC_PASSPHRASE1EDIT:
+ case IDC_PASSPHRASE2STATIC:
+ case IDC_PASSPHRASE2EDIT:
+ cmd = "JI(`',`puttygen.passphrase')"; break;
+ case IDC_LOADSTATIC:
+ case IDC_LOAD:
+ cmd = "JI(`',`puttygen.load')"; break;
+ case IDC_SAVESTATIC:
+ case IDC_SAVE:
+ cmd = "JI(`',`puttygen.savepriv')"; break;
+ case IDC_SAVEPUB:
+ cmd = "JI(`',`puttygen.savepub')"; break;
+ case IDC_TYPESTATIC:
+ case IDC_KEYSSH1:
+ case IDC_KEYSSH2RSA:
+ case IDC_KEYSSH2DSA:
+ cmd = "JI(`',`puttygen.keytype')"; break;
+ case IDC_BITSSTATIC:
+ case IDC_BITS:
+ cmd = "JI(`',`puttygen.bits')"; break;
+ }
+ if (cmd) {
+ WinHelp(hwnd, help_path, HELP_COMMAND, (DWORD)cmd);
+ requested_help = TRUE;
+ } else {
+ MessageBeep(0);
+ }
+ }
+ break;