OSDN Git Service

d2d71a5530aa3d3c720553a47079c1587904e282
[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 <winperf.h>   // for Windows NT\r
13 #include "resource.h"\r
14 \r
15 struct TASK_LIST {\r
16     DWORD dwProcessId;\r
17     CHAR ProcessName[MAX_PATH];\r
18 };\r
19 typedef TASK_LIST *PTASK_LIST;\r
20 \r
21 enum { MAX_TASKS = 256 };\r
22 \r
23 enum HKEY_TYPE { CURRENT_USER, LOCAL_MACHINE, MAX_HKEY_TYPE };\r
24 \r
25 class CKey;\r
26 \r
27 class CProfile\r
28 {\r
29 public:\r
30         static int GetKeyboardSpeed(void);\r
31         static CString GetWindowText(int nAppID);\r
32         static void SetWindowText(int nAppID, CString szWindowText);\r
33         static void SetEnableCUA(int nAppID, BOOL bEnableCUA);\r
34         static BOOL GetEnableCUA(int nAppID);\r
35         static void ImportProperties();\r
36         static void ExportProperties();\r
37         static void RestartComputer();\r
38         static BOOL IsVistaOrLater();\r
39         static void SaveScanCodeMap(HKEY_TYPE hkeyType);\r
40         static void LoadScanCodeMap(HKEY_TYPE hkeyType);\r
41         static BOOL Is106Keyboard();\r
42         static BOOL IsDialog(CString sz);\r
43         static BOOL GetUseDialogSetting(int nAppID);\r
44         static void SetUseDialogSetting(int nAppID, BOOL bUseDialogSetting);\r
45         static int GetAppID(const LPCSTR szAppName);\r
46         static void CopyData(CString szDestinationApplication, CString szSourceApplication);\r
47         static void ReadKeyBind(int& pnCommandType, int& pnKey, LPCTSTR szKeyBind);\r
48         static LPCTSTR Key2String(int nKey);\r
49         static LPCTSTR CommandType2String(int nType);\r
50         static int GetCurrentApplicationID(CComboBox *cApplicationList, CString szCurrentApplication);\r
51         static int GetKillRingMax(int nAppID);\r
52         static void SetKillRingMax(int nAppID, int nKillRingMax);\r
53         static int GetCommandID(int nAppID, int nType, int nKey);\r
54         static void SetCommandID(int nAppID, int nType, int nKey, int nComID);\r
55         static void UpdateApplicationTitle(CComboBox *cApplicationList, CString szCurrentApplication, int nAppID, BOOL bSaveAndValidate);\r
56         static void GetApplicationTitle(CComboBox *cApplicationList, CString &rList, int nIndex = -1);\r
57         static BOOL IsDefault(CString sz);\r
58         static int DefaultAppID();\r
59         static int AssignAppID(const LPCSTR szAppName);\r
60         static int GetSettingStyle(const int nAppID);\r
61         static void SetSettingStyle(const int nAppID, const int nSettingStyle);\r
62         static void InitApplicationList(CComboBox *cApplicationList);\r
63         static int GetSavedSettingCount();\r
64         static void ClearData(CString szCurrentApplication);\r
65         static void InitDllData();\r
66         static void LoadData();\r
67         static void SaveData();\r
68 \r
69 private:\r
70         static void SaveKeyBind(const LPCSTR szAppName, const LPCSTR szComName, int nType, int nKey);\r
71         static BOOL DiableTokenPrivileges();\r
72         static BOOL AdjustTokenPrivileges(LPCTSTR lpName);\r
73         static void SaveCommand(const LPCSTR szAppName, int nComID);\r
74         static void SaveKeyBind(const LPCSTR szAppName, int nComID, int nType, int nKey);\r
75         static void AddKeyBind2C_(const LPCSTR szApplicationName, BYTE bVk);\r
76         static void LevelUp();\r
77         static void Item2AppName(CString *sz);\r
78         static int IsNotSameString(CComboBox *pApplication, CString szListItem);\r
79         static int CountSeparator(CString szMainString, CString szSeparator);\r
80         static void GetNthString(CString *szAppName, CString szWindowName, CString szSeparator, int n);\r
81         static void GetAppName(CString *szAppName, LPCTSTR pWindowName);\r
82         static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);\r
83         static BOOL IsTheString(CString sz, UINT nID);\r
84         static void SetDllData();\r
85         static CONFIG m_Config;\r
86         static TCHAR m_szAppTitle[MAX_APP][WINDOW_TEXT_LENGTH];\r
87         static void DeleteAllRegistryData();\r
88         static TASK_LIST m_TaskList[MAX_TASKS];\r
89         static DWORD m_dwTasks;\r
90         static void GetTaskList();\r
91         static BOOL IsCommandType(int nType, LPCTSTR szKeyBind);\r
92         static int KeyBind2Key(const LPCTSTR szKey);\r
93         static int KeyBind2CommandType(const LPCTSTR szKeyBind);\r
94         static CString WriteKeyBind(int nType, int nKey);\r
95         static void LoadRegistry();\r
96         static void SaveRegistry();\r
97         static void AddIMEInfo(CComboBox *cApplicationList);\r
98 };\r
99 \r
100 #endif // !defined(AFX_PROFILE_H__9415254D_4656_484B_A730_E02580D8A221__INCLUDED_)\r