OSDN Git Service

Add KeyString class for conversion from a modifier and key code to a
[xkeymacs/xkeymacs.git] / xkeymacs / profile.h
1 // Profile.h: interface of the CProfile class\r
2 //\r
3 //////////////////////////////////////////////////////////////////////\r
4 \r
5 #if !defined(AFX_PROFILE_H__9415254D_4656_484B_A730_E02580D8A221__INCLUDED_)\r
6 #define AFX_PROFILE_H__9415254D_4656_484B_A730_E02580D8A221__INCLUDED_\r
7 \r
8 #if _MSC_VER > 1000\r
9 #pragma once\r
10 #endif // _MSC_VER > 1000\r
11 \r
12 #include "resource.h"\r
13 #include "properties.h"\r
14 #include "KeyString.h"\r
15 #include "../xkeymacsdll/ipc.h"\r
16 \r
17 struct TASK_LIST {\r
18     DWORD dwProcessId;\r
19     CHAR ProcessName[MAX_PATH];\r
20 };\r
21 typedef TASK_LIST *PTASK_LIST;\r
22 \r
23 enum { MAX_TASKS = 256 };\r
24 \r
25 enum HKEY_TYPE { CURRENT_USER, LOCAL_MACHINE, MAX_HKEY_TYPE };\r
26 \r
27 class CKey;\r
28 \r
29 class CProfile\r
30 {\r
31 public:\r
32         static int GetKeyboardSpeed(void);\r
33         static CString GetWindowText(int nAppID);\r
34         static void SetWindowText(int nAppID, CString szWindowText);\r
35         static void SetEnableCUA(int nAppID, BOOL bEnableCUA);\r
36         static BOOL GetEnableCUA(int nAppID);\r
37         static void ImportProperties();\r
38         static void ExportProperties();\r
39         static void RestartComputer();\r
40         static BOOL IsVistaOrLater();\r
41         static void SaveScanCodeMap(HKEY_TYPE hkeyType);\r
42         static void LoadScanCodeMap(HKEY_TYPE hkeyType);\r
43         static BOOL Is106Keyboard();\r
44         static BOOL GetUseDialogSetting(int nAppID);\r
45         static void SetUseDialogSetting(int nAppID, BOOL bUseDialogSetting);\r
46         static int GetAppID(const LPCSTR szAppName);\r
47         static void CopyData(CString szDestinationApplication, CString szSourceApplication);\r
48         static void StringToKey(LPCTSTR str, int& type, int& key);\r
49         static CString KeyToString(int type, int key);\r
50         static int GetKillRingMax(int nAppID);\r
51         static void SetKillRingMax(int nAppID, int nKillRingMax);\r
52         static int GetCommandID(int nAppID, int nType, int nKey);\r
53         static void SetCommandID(int nAppID, int nType, int nKey, int nComID);\r
54         static void SetAppTitle(const int nAppID, const CString& appTitle);\r
55         static int DefaultAppID();\r
56         static int AssignAppID(const LPCSTR szAppName);\r
57         static int GetSettingStyle(const int nAppID);\r
58         static void SetSettingStyle(const int nAppID, const int nSettingStyle);\r
59         static void InitAppList(CProperties& cProperties);\r
60         static int GetSavedSettingCount();\r
61         static void ClearData(CString szCurrentApplication);\r
62         static void InitDllData();\r
63         static void LoadData();\r
64         static void SaveData();\r
65 \r
66 private:\r
67         static KeyString m_KeyString;\r
68         static BOOL DiableTokenPrivileges();\r
69         static BOOL AdjustTokenPrivileges(LPCTSTR lpName);\r
70         static void SaveKeyBind(const LPCTSTR appName, int comID, int type, int key);\r
71         static void SaveKeyBind(const LPCTSTR appName, const LPCTSTR comName, int type, int key);\r
72         static void AddKeyBind2C_(const LPCTSTR szApplicationName, BYTE bVk);\r
73         static void LevelUp();\r
74         static bool GetAppTitle(CString& appTitle, const CString& windowName, int nth = 1000);\r
75         static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);\r
76         static void SetDllData();\r
77         static Config m_Config;\r
78         static TCHAR m_szAppTitle[MAX_APP][WINDOW_TEXT_LENGTH];\r
79         static void DeleteAllRegistryData();\r
80         static TASK_LIST m_TaskList[MAX_TASKS];\r
81         static DWORD m_dwTasks;\r
82         static void GetTaskList();\r
83         static void LoadRegistry();\r
84         static void SaveRegistry();\r
85         static void AddIMEInfo(CProperties& cProperties);\r
86 };\r
87 \r
88 #endif // !defined(AFX_PROFILE_H__9415254D_4656_484B_A730_E02580D8A221__INCLUDED_)\r