#include "ChiToLetter.h" #include #include #include namespace CmdQuery { struct CmdItem { CString m_sName; CString m_sCmd; CString m_sFullLetter; CString m_sFirstLetter; }; typedef std::vector CmdItems; struct CmdQueryItem { CString m_sFile; CString m_sMnuTitle; CString m_sGroupName; CmdItem m_cmdItem; }; typedef std::vector CmdQueryItems; struct CmdGroup { CString m_sGroupName; CmdItems m_CmdItems; }; typedef std::vector CmdGroups; struct MnuFile { CString m_sFile; CString m_sTitle; CmdGroups m_CmdGroups; }; typedef std::vector MnuFiles; void findCommand(LPCTSTR pszCmd, CmdQueryItems &items); WPARAM getKeyByChar(LPCTSTR psz); CString getCharByKey(WPARAM key); // 规则:(Ctrl、Alt、Shift)至少有一个.其它字符至少有一个. // 不包括(Tab、Caps、Win、Back) bool checkHotkey(const std::map &keys); CString getHotkeyString(); void getHotKey(std::set &hotkeys); void saveHotKey(std::map &chs); void startHook(); void endHook(); }