| 1 |
#ifndef TTPMENU_H |
| 2 |
#define TTPMENU_H |
| 3 |
/* ======================================================================== |
| 4 |
Project Name : TeraTerm Menu |
| 5 |
Outline : TeraTerm Menu Header |
| 6 |
Version : 0.94 |
| 7 |
Create : 1998-11-22(Sun) |
| 8 |
Update : 2001-11-01(Thu) |
| 9 |
Reference : Copyright (C) S.Hayakawa 1997-2001 |
| 10 |
======================================================================== */ |
| 11 |
|
| 12 |
#include <windows.h> |
| 13 |
|
| 14 |
// eíč |
| 15 |
#define WM_TMENU_NOTIFY (WM_USER + 101) |
| 16 |
#define WM_MENUOPEN (WM_USER + 102) |
| 17 |
#define ID_NOENTRY 49999 |
| 18 |
#define ID_MENU_MIN 50000 |
| 19 |
#define MAXJOBNUM 1024 |
| 20 |
#define ICONSIZE_LARGE 32 |
| 21 |
#define ICONSIZE_SMALL 16 |
| 22 |
#define ICONSPACE_LARGE 40 |
| 23 |
#define ICONSPACE_SMALL 24 |
| 24 |
#define LISTBOX_HEIGHT 18 |
| 25 |
#define LISTBOX_WIDTH 20 |
| 26 |
#define TERATERM "ttermpro.exe" |
| 27 |
#define TTERM_KEY "Software\\ShinpeiTools\\TTermMenu" |
| 28 |
#define LOGIN_PROMPT "login:" |
| 29 |
#define PASSWORD_PROMPT "Password:" |
| 30 |
#define TTPMENU_CLASS "TMenuClass" |
| 31 |
|
| 32 |
#define DATA_NOENTRY 0xffffffff |
| 33 |
|
| 34 |
#define MODE_SMALLICON 0x0000 |
| 35 |
#define MODE_LARGEICON 0x0001 |
| 36 |
|
| 37 |
#define MODE_AUTOLOGIN 0x0000 |
| 38 |
#define MODE_MACRO 0x0001 |
| 39 |
#define MODE_DIRECT 0x0002 |
| 40 |
|
| 41 |
// WXgĚlźięĘÝčj |
| 42 |
#define KEY_ICONMODE "IconMode" |
| 43 |
#define KEY_LEFTBUTTONPOPUP "LeftButtonPopup" |
| 44 |
#define KEY_MENUTEXTCOLOR "MenuTextColor" |
| 45 |
#define KEY_LF_HEIGHT "lfHeight" |
| 46 |
#define KEY_LF_WIDTH "lfWidth" |
| 47 |
#define KEY_LF_ESCAPEMENT "lfEscapement" |
| 48 |
#define KEY_LF_ORIENTATION "lfOrientation" |
| 49 |
#define KEY_LF_WEIGHT "lfWeight" |
| 50 |
#define KEY_LF_ITALIC "lfItalic" |
| 51 |
#define KEY_LF_UNDERLINE "lfUnderline" |
| 52 |
#define KEY_LF_STRIKEOUT "lfStrikeOut" |
| 53 |
#define KEY_LF_CHARSET "lfCharSet" |
| 54 |
#define KEY_LF_OUTPRECISION "lfOutPrecision" |
| 55 |
#define KEY_LF_CLIPPRECISION "lfClipPrecision" |
| 56 |
#define KEY_LF_QUALITY "lfQuality" |
| 57 |
#define KEY_LF_PITCHANDFAMILY "lfPitchAndFamily" |
| 58 |
#define KEY_LF_FACENAME "lfFaceName" |
| 59 |
#define KEY_HOTKEY "Hotkey" |
| 60 |
|
| 61 |
// WXgĚlźiWuÝčj |
| 62 |
#define KEY_MODE "Mode" |
| 63 |
#define KEY_HOSTNAME "HostName" |
| 64 |
#define KEY_USERFLAG "UserFlag" |
| 65 |
#define KEY_USERNAME "UserName" |
| 66 |
#define KEY_PASSWDFLAG "PasswdFlag" |
| 67 |
#define KEY_PASSWORD "Password" |
| 68 |
#define KEY_INITFILE "INI_File" |
| 69 |
#define KEY_TERATERM "TeraTerm" |
| 70 |
#define KEY_OPTION "Option" |
| 71 |
#define KEY_LOGIN_PROMPT "LoginPrompt" |
| 72 |
#define KEY_PASSWORD_PROMPT "PasswdPrompt" |
| 73 |
#define KEY_MACROFILE "MacroFile" |
| 74 |
#define KEY_TTSSH "TeraTerm Mode" |
| 75 |
#define KEY_LOG "Log" |
| 76 |
#define KEY_STARTUP "Startup" |
| 77 |
#define KEY_KEYFILE "PrivateKeyFile" // add (2005.1.27 yutaka) |
| 78 |
#define KEY_CHALLENGE "Challenge" // add (2007.11.14 yutaka) |
| 79 |
#define KEY_PAGEANT "Pageant" // add (2008.5.26 maya) |
| 80 |
|
| 81 |
#define STR_ICONMODE "showing large icon" |
| 82 |
#define STR_LEFTBUTTONPOPUP "showing list by left-click" |
| 83 |
#define STR_HOTKEY "showing list hotkey(Ctl+Alt+M)" |
| 84 |
#define STR_NOENTRY "(none)" |
| 85 |
|
| 86 |
// Ýčîń\˘Ě |
| 87 |
struct JobInfo { |
| 88 |
char szName[MAX_PATH]; // Wuź |
| 89 |
BOOL bStartup; // NŽÉWuđŔsˇéŠÇ¤ŠĚtO |
| 90 |
BOOL bTtssh; // ttsshđgpˇéŠÇ¤ŠĚtO |
| 91 |
DWORD dwMode; // WuĚíŢ |
| 92 |
|
| 93 |
// ŠŽOCpÝč |
| 94 |
char szHostName[MAX_PATH]; // zXgź |
| 95 |
BOOL bUsername; // [Uźđü͡éŠÇ¤ŠĚtO |
| 96 |
char szUsername[MAX_PATH]; // [Uź |
| 97 |
BOOL bPassword; // pX[hđü͡éŠÇ¤ŠĚtO |
| 98 |
char szPassword[MAX_PATH]; // pX[h |
| 99 |
|
| 100 |
// }NŔspÝč |
| 101 |
char szMacroFile[MAX_PATH]; // Ŕsˇé}Nt@CĚt@Cź |
| 102 |
|
| 103 |
// Ú×Ýč |
| 104 |
char szTeraTerm[MAX_PATH]; // NŽAviTeraTermjĚt@Cź |
| 105 |
char szInitFile[MAX_PATH]; // TeraTermĚÝčt@CiNŽĚÝÓOj |
| 106 |
char szOption[MAX_PATH]; // AvP[VĚIvV/ř |
| 107 |
char szLog[MAX_PATH]; // Ot@CźiŠŽOCĚÝj |
| 108 |
char szLoginPrompt[MAX_PATH]; // OCvvgiŠŽOCĚÝj |
| 109 |
char szPasswdPrompt[MAX_PATH]; // pX[hvvgiŠŽOCĚÝj |
| 110 |
|
| 111 |
char PrivateKeyFile[MAX_PATH]; // é§Žt@C (2005.1.27 yutaka) |
| 112 |
BOOL bChallenge; // keyboard-interative method(/challenge) |
| 113 |
BOOL bPageant; // use Pageant(/pageant) |
| 114 |
}; |
| 115 |
|
| 116 |
// \ŚÝč\˘Ě |
| 117 |
struct MenuData { |
| 118 |
TCHAR szName[MAXJOBNUM][MAX_PATH]; |
| 119 |
HICON hLargeIcon[MAXJOBNUM]; |
| 120 |
HICON hSmallIcon[MAXJOBNUM]; |
| 121 |
DWORD dwMenuHeight; |
| 122 |
DWORD dwIconMode; |
| 123 |
BOOL bLeftButtonPopup; |
| 124 |
BOOL bHotkey; |
| 125 |
HFONT hFont; |
| 126 |
LOGFONT lfFont; |
| 127 |
COLORREF crMenuBg; |
| 128 |
COLORREF crMenuTxt; |
| 129 |
COLORREF crSelMenuBg; |
| 130 |
COLORREF crSelMenuTxt; |
| 131 |
}; |
| 132 |
|
| 133 |
// Öę |
| 134 |
void PopupMenu(HWND hWnd); |
| 135 |
void PopupListMenu(HWND hWnd); |
| 136 |
BOOL AddTooltip(int idControl); |
| 137 |
BOOL ConnectHost(HWND hWnd, UINT idItem, char *szJobName = NULL); |
| 138 |
BOOL CreateTooltip(void); |
| 139 |
BOOL DeleteLoginHostInformation(HWND hWnd); |
| 140 |
BOOL ErrorMessage(HWND hWnd, LPTSTR msg,...); |
| 141 |
BOOL ExtractAssociatedIconEx(char *szPath, HICON *hLargeIcon, HICON *hSmallIcon); |
| 142 |
BOOL ExecStartup(HWND hWnd); |
| 143 |
BOOL GetApplicationFilename(char *szName, char *szPath); |
| 144 |
BOOL InitConfigDlg(HWND hWnd); |
| 145 |
BOOL InitEtcDlg(HWND hWnd); |
| 146 |
BOOL InitListMenu(HWND hWnd); |
| 147 |
BOOL InitMenu(void); |
| 148 |
BOOL InitVersionDlg(HWND hWnd); |
| 149 |
BOOL LoadConfig(void); |
| 150 |
BOOL LoadLoginHostInformation(HWND hWnd); |
| 151 |
BOOL MakeTTL(char *TTLName, JobInfo *jobInfo); |
| 152 |
BOOL ManageWMCommand_Config(HWND hWnd, WPARAM wParam); |
| 153 |
BOOL ManageWMCommand_Etc(HWND hWnd, WPARAM wParam); |
| 154 |
BOOL ManageWMCommand_Menu(HWND hWnd, WPARAM wParam); |
| 155 |
BOOL ManageWMCommand_Version(HWND hWnd, WPARAM wParam); |
| 156 |
BOOL ManageWMNotify_Config(LPARAM lParam); |
| 157 |
BOOL RedrawMenu(HWND hWnd); |
| 158 |
BOOL RegLoadLoginHostInformation(char *szName, JobInfo *jobInfo); |
| 159 |
BOOL RegSaveLoginHostInformation(JobInfo *jobInfo); |
| 160 |
BOOL SaveConfig(void); |
| 161 |
BOOL SaveEtcInformation(HWND hWnd); |
| 162 |
BOOL SaveLoginHostInformation(HWND hWnd); |
| 163 |
BOOL SetDefaultEtcDlg(HWND hWnd); |
| 164 |
BOOL SetMenuFont(HWND hWnd); |
| 165 |
BOOL SetTaskTray(HWND hWnd, DWORD dwMessage); |
| 166 |
INT_PTR CALLBACK DlgCallBack_Config(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); |
| 167 |
INT_PTR CALLBACK DlgCallBack_Etc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); |
| 168 |
INT_PTR CALLBACK DlgCallBack_Version(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); |
| 169 |
LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam); |
| 170 |
LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); |
| 171 |
|
| 172 |
#endif |