1 // Profile.h: interface of the CProfile class
\r
3 //////////////////////////////////////////////////////////////////////
\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
10 #endif // _MSC_VER > 1000
\r
12 #include <winperf.h> // for Windows NT
\r
13 #include "resource.h"
\r
18 CHAR ProcessName[MAX_PATH];
\r
20 typedef TASK_LIST *PTASK_LIST;
\r
22 enum { MAX_TASKS = 256 };
\r
24 enum HKEY_TYPE { CURRENT_USER, LOCAL_MACHINE, MAX_HKEY_TYPE };
\r
31 static int GetKeyboardSpeed(void);
\r
32 static CString GetWindowText(int nApplicationID);
\r
33 static void SetWindowText(int nApplicationID, CString szWindowText);
\r
34 static void SetEnableCUA(int nApplicationID, BOOL bEnableCUA);
\r
35 static BOOL GetEnableCUA(int nApplicationID);
\r
36 static void ImportProperties();
\r
37 static void ExportProperties();
\r
38 static void RestartComputer();
\r
39 static BOOL IsVistaOrLater();
\r
40 static void SaveScanCodeMap(HKEY_TYPE hkeyType);
\r
41 static void LoadScanCodeMap(HKEY_TYPE hkeyType);
\r
42 static BOOL Is106Keyboard();
\r
43 static BOOL IsDialog(CString sz);
\r
44 static BOOL GetUseDialogSetting(int nApplicationID);
\r
45 static void SetUseDialogSetting(int nApplicationID, BOOL bUseDialogSetting);
\r
46 static int GetApplicationIndex(CString szApplicationName);
\r
47 static void CopyData(CString szDestinationApplication, CString szSourceApplication);
\r
48 static void ReadKeyBind(int *pnCommandType, int *pnKey, LPCTSTR szKeyBind);
\r
49 static LPCTSTR Key2String(int nKey);
\r
50 static LPCTSTR CommandType2String(int nCommandType);
\r
51 static int GetCurrentApplicationID(CComboBox *cApplicationList, CString szCurrentApplication);
\r
52 static int GetKillRingMax(int nApplicationID);
\r
53 static void SetKillRingMax(int nApplicationID, int nKillRingMax);
\r
54 static int GetCommandID(int nApplicationID, int nCommandType, int nKey);
\r
55 static void SetCommandID(int nApplicationID, int nCommandType, int nKey, int nCommandID);
\r
56 static void UpdateApplicationTitle(CComboBox *cApplicationList, CString szCurrentApplication, int nApplicationID, BOOL bSaveAndValidate);
\r
57 static void GetApplicationTitle(CComboBox *cApplicationList, CString &rList, int nIndex = -1);
\r
58 static BOOL IsDefault(CString sz);
\r
59 static int GetApplicationIndex(CString szApplicationName, BOOL bSaveAndValidate, int *nSettingStyle);
\r
60 static void InitApplicationList(CComboBox *cApplicationList);
\r
61 static int GetSavedSettingCount();
\r
62 static void ClearData(CString szCurrentApplication);
\r
63 static void InitDllData();
\r
64 static void LoadData();
\r
65 static void SaveData();
\r
68 static void SaveKeyBind(CString szApplicationName, CString szCommandName, int nCommandType, int nKey);
\r
69 static BOOL DiableTokenPrivileges();
\r
70 static BOOL AdjustTokenPrivileges(LPCTSTR lpName);
\r
71 static void SaveCommand(CString szApplicationName, int nCommandID);
\r
72 static void SaveKeyBind(CString szApplicationName, int nCommandID, int nCommandType, int nKey);
\r
73 static void AddKeyBind2C_(CString szApplicationName, BYTE bVk);
\r
74 static void LevelUp();
\r
75 static void Item2AppName(CString *sz);
\r
76 static int IsNotSameString(CComboBox *pApplication, CString szListItem);
\r
77 static int CountSeparator(CString szMainString, CString szSeparator);
\r
78 static void GetNthString(CString *szAppName, CString szWindowName, CString szSeparator, int n);
\r
79 static void GetAppName(CString *szAppName, LPCTSTR pWindowName);
\r
80 static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);
\r
81 static BOOL IsTheString(CString sz, UINT nID);
\r
82 static void SetDllData();
\r
83 static CData m_Data[MAX_APP];
\r
84 static void DeleteAllRegistryData();
\r
85 static TASK_LIST m_TaskList[MAX_TASKS];
\r
86 static DWORD m_dwTasks;
\r
87 static void GetTaskList();
\r
88 static BOOL IsCommandType(int nCommandType, LPCTSTR szKeyBind);
\r
89 static int KeyBind2Key(LPCTSTR szKey);
\r
90 static int KeyBind2CommandType(LPCTSTR szKeyBind);
\r
91 static CString WriteKeyBind(int nCommandType, int nKey);
\r
92 static void LoadRegistory();
\r
93 static void SaveRegistory();
\r
96 #endif // !defined(AFX_PROFILE_H__9415254D_4656_484B_A730_E02580D8A221__INCLUDED_)
\r