OSDN Git Service

de789553eefc96e497b215374e6cf586354c0f79
[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 void LoadData();\r
33         static void SaveData();\r
34         static void InitDllData();\r
35         static void StringToKey(LPCTSTR str, int& type, int& key);\r
36         static CString KeyToString(int type, int key);\r
37         static void InitAppList(CProperties& cProperties);\r
38         static void ClearData(LPCTSTR appName);\r
39         static void CopyData(LPCTSTR dstApp, LPCTSTR srcApp);\r
40         static int AssignAppID(LPCTSTR appName);\r
41         static int DefaultAppID();\r
42         static int GetAppID(LPCTSTR appName);\r
43         static int GetSettingStyle(int nAppID);\r
44         static void SetSettingStyle(int nAppID, int nSettingStyle);\r
45         static void SetAppTitle(int nAppID, const CString& appTitle);\r
46         static int GetCommandID(int nAppID, int nType, int nKey);\r
47         static void SetCommandID(int nAppID, int nType, int nKey, int nComID);\r
48         static BOOL GetUseDialogSetting(int nAppID);\r
49         static void SetUseDialogSetting(int nAppID, BOOL bUseDialogSetting);\r
50         static void SetEnableCUA(int nAppID, BOOL bEnableCUA);\r
51         static BOOL GetEnableCUA(int nAppID);\r
52         static int GetKillRingMax(int nAppID);\r
53         static void SetKillRingMax(int nAppID, int nKillRingMax);\r
54         static LPCTSTR GetWindowText(int nAppID);\r
55         static void SetWindowText(int nAppID, const CString& text);\r
56         static BOOL Is106Keyboard();\r
57         static BOOL IsVistaOrLater();\r
58         static void RestartComputer();\r
59         static void ImportProperties();\r
60         static void ExportProperties();\r
61         static int GetKeyboardSpeed(void);\r
62 \r
63 private:\r
64         static Config m_Config;\r
65         static KeyString m_KeyString;\r
66         static TCHAR m_AppTitle[MAX_APP][WINDOW_TEXT_LENGTH];\r
67         static void DeleteAllRegistryData();\r
68         static void LevelUp();\r
69         static void AddKeyBind2C_(LPCTSTR szApplicationName, BYTE bVk);\r
70         static void LoadRegistry();\r
71         static void SaveRegistry();\r
72         static void SetDllData();\r
73         static void SaveKeyBind(LPCTSTR appName, int comID, int type, int key);\r
74         static void SaveKeyBind(LPCTSTR appName, LPCTSTR comName, int type, int key);\r
75         static TASK_LIST m_TaskList[MAX_TASKS];\r
76         static DWORD m_dwTasks;\r
77         static void GetTaskList();\r
78         static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);\r
79         static void AddIMEInfo(CProperties& cProperties);\r
80         static BOOL DiableTokenPrivileges();\r
81         static BOOL AdjustTokenPrivileges(LPCTSTR lpName);\r
82         static bool GetAppTitle(CString& appTitle, const CString& windowName, int nth = 1000);\r
83 };\r
84 \r
85 #endif // !defined(AFX_PROFILE_H__9415254D_4656_484B_A730_E02580D8A221__INCLUDED_)\r