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
17 CHAR ProcessName[MAX_PATH];
\r
19 typedef TASK_LIST *PTASK_LIST;
\r
21 enum { MAX_TASKS = 256 };
\r
23 enum HKEY_TYPE { CURRENT_USER, LOCAL_MACHINE, MAX_HKEY_TYPE };
\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
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
100 #endif // !defined(AFX_PROFILE_H__9415254D_4656_484B_A730_E02580D8A221__INCLUDED_)
\r