OSDN Git Service

Remove support for Win9x/Me and NT4.0.
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Thu, 12 May 2011 21:54:07 +0000 (06:54 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Thu, 26 May 2011 23:36:07 +0000 (08:36 +0900)
xkeymacs/mainfrm.cpp
xkeymacs/optionsdlg.cpp
xkeymacs/profile.cpp
xkeymacs/profile.h
xkeymacs/propertiesadvanced.cpp
xkeymacsdll/Commands.cpp
xkeymacsdll/Utils.cpp
xkeymacsdll/Utils.h
xkeymacsdll/xkeymacsdll.cpp

index 78b4db9..866fe53 100644 (file)
@@ -304,10 +304,7 @@ void CMainFrame::ShowRightMenu(const ICON_TYPE icon)
                        popUp->ModifyMenu(IDC_KEYBOARD, MF_STRING, IDC_KEYBOARD, szFor);\r
                }\r
 \r
-               if (CProfile::Is9x()) {\r
-                       popUp->DeleteMenu(IDC_KEYBOARD, MF_BYCOMMAND);\r
-                       popUp->DeleteMenu(IDC_KEYBOARD_ANY_USER, MF_BYCOMMAND);\r
-               } else if (CProfile::IsVistaOrLater()) {\r
+               if (CProfile::IsVistaOrLater()) {\r
                        popUp->DeleteMenu(IDC_KEYBOARD_ANY_USER, MF_BYCOMMAND);\r
                }\r
        } else {\r
index bbf9045..e08f49e 100644 (file)
@@ -88,23 +88,19 @@ BOOL COptionsDlg::OnInitDialog()
        }\r
 \r
        // for file and directory name completion\r
-       if (CProfile::IsNT()) {\r
-               HKEY hKey = NULL;\r
-\r
-               if (RegOpenKeyEx(HKEY_CURRENT_USER,  CString(MAKEINTRESOURCE(IDS_REGSUBKEY_FILE_COMPLETION)), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS\r
-                || RegOpenKeyEx(HKEY_LOCAL_MACHINE, CString(MAKEINTRESOURCE(IDS_REGSUBKEY_FILE_COMPLETION)), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) {\r
-                       DWORD dwType = REG_DWORD;\r
-                       DWORD dwCompletionChar = 0;\r
-                       DWORD dwcbData = sizeof(dwCompletionChar);\r
-                       RegQueryValueEx(hKey, CString(MAKEINTRESOURCE(IDS_COMPLETION_CHAR)), NULL, &dwType,\r
-                                                       (LPBYTE)&dwCompletionChar, &dwcbData);\r
-                       RegCloseKey(hKey);\r
-                       if (dwCompletionChar == 0x9) {\r
-                               m_cFileCompletion.SetCheck(1);\r
-                       }\r
+       HKEY hKey = NULL;\r
+\r
+       if (RegOpenKeyEx(HKEY_CURRENT_USER,  CString(MAKEINTRESOURCE(IDS_REGSUBKEY_FILE_COMPLETION)), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS\r
+                       || RegOpenKeyEx(HKEY_LOCAL_MACHINE, CString(MAKEINTRESOURCE(IDS_REGSUBKEY_FILE_COMPLETION)), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) {\r
+               DWORD dwType = REG_DWORD;\r
+               DWORD dwCompletionChar = 0;\r
+               DWORD dwcbData = sizeof(dwCompletionChar);\r
+               RegQueryValueEx(hKey, CString(MAKEINTRESOURCE(IDS_COMPLETION_CHAR)), NULL, &dwType,\r
+                       (LPBYTE)&dwCompletionChar, &dwcbData);\r
+               RegCloseKey(hKey);\r
+               if (dwCompletionChar == 0x9) {\r
+                       m_cFileCompletion.SetCheck(1);\r
                }\r
-       } else if (CProfile::Is9x()) {\r
-               m_cFileCompletion.EnableWindow(FALSE);\r
        }\r
 \r
        // for icons in the taskbar's status area\r
@@ -139,20 +135,18 @@ void COptionsDlg::OnOK()
        }\r
 \r
        // for file and directory name completion\r
-       if (CProfile::IsNT()) {\r
-               HKEY hKey = NULL;\r
-\r
-               if (RegCreateKeyEx(HKEY_CURRENT_USER, CString(MAKEINTRESOURCE(IDS_REGSUBKEY_FILE_COMPLETION)), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, NULL) == ERROR_SUCCESS) {\r
-                       DWORD dwCompletionChar;\r
-                       if (m_cFileCompletion.GetCheck() == 1) {\r
-                               dwCompletionChar = 0x9; // use enum\r
-                       } else {\r
-                               dwCompletionChar = 0x0;\r
-                       }\r
-                       RegSetValueEx(hKey, CString(MAKEINTRESOURCE(IDS_COMPLETION_CHAR)), 0, REG_DWORD,\r
-                                                 (LPBYTE)&dwCompletionChar, sizeof(dwCompletionChar));\r
-                       RegCloseKey(hKey);\r
+       HKEY hKey = NULL;\r
+\r
+       if (RegCreateKeyEx(HKEY_CURRENT_USER, CString(MAKEINTRESOURCE(IDS_REGSUBKEY_FILE_COMPLETION)), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, NULL) == ERROR_SUCCESS) {\r
+               DWORD dwCompletionChar;\r
+               if (m_cFileCompletion.GetCheck() == 1) {\r
+                       dwCompletionChar = 0x9; // use enum\r
+               } else {\r
+                       dwCompletionChar = 0x0;\r
                }\r
+               RegSetValueEx(hKey, CString(MAKEINTRESOURCE(IDS_COMPLETION_CHAR)), 0, REG_DWORD,\r
+                       (LPBYTE)&dwCompletionChar, sizeof(dwCompletionChar));\r
+               RegCloseKey(hKey);\r
        }\r
 \r
        // for icons in the taskbar's status area\r
index 32f6db5..9400360 100644 (file)
@@ -8,8 +8,9 @@
 #include "MainFrm.h"\r
 #include "DotXkeymacs.h"\r
 #include <Imm.h>\r
-#include <Shlwapi.h>   // Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 4.0 or later). \r
-                                               // Windows 95/98/Me: Requires Windows 98 (or Windows 95 with Internet Explorer 4.0 or later). \r
+#include <Shlwapi.h>\r
+#include <TlHelp32.h>\r
+\r
 \r
 #ifdef _DEBUG\r
 #undef THIS_FILE\r
@@ -1176,42 +1177,14 @@ DWORD CProfile::GetTaskList(PTASK_LIST pTask, const DWORD dwNumTasks)
                ZeroMemory(&pTask[i], sizeof(PTASK_LIST));\r
        }\r
 \r
-       OSVERSIONINFO verInfo = {0};\r
-       verInfo.dwOSVersionInfoSize = sizeof (verInfo);\r
-       GetVersionEx(&verInfo);\r
-       if (verInfo.dwPlatformId == VER_PLATFORM_WIN32_NT\r
-        && verInfo.dwMajorVersion < 5) {\r
-               return GetTaskListNT(pTask, dwNumTasks);\r
-       }\r
-\r
-       HMODULE hKernel = GetModuleHandle(_T("KERNEL32.DLL"));\r
-       if (!hKernel) {\r
-               return 0;\r
-       }\r
-\r
-       CREATESNAPSHOT pCreateToolhelp32Snapshot = (CREATESNAPSHOT)GetProcAddress(hKernel, "CreateToolhelp32Snapshot");\r
-       if (!pCreateToolhelp32Snapshot) {\r
-               return 0;\r
-       }\r
-\r
-       PROCESSWALK pProcess32First = (PROCESSWALK)GetProcAddress(hKernel, "Process32First");\r
-       if (!pProcess32First) {\r
-               return 0;\r
-       }\r
-\r
-       PROCESSWALK pProcess32Next = (PROCESSWALK)GetProcAddress(hKernel, "Process32Next");\r
-       if (!pProcess32Next) {\r
-               return 0;\r
-       }\r
-\r
-       HANDLE hProcessSnap = pCreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);\r
+       HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);\r
        if (hProcessSnap == (HANDLE)-1) {\r
                return 0;\r
        }\r
 \r
        DWORD dwTaskCount = 0;\r
        PROCESSENTRY32 processEntry32 = {sizeof(PROCESSENTRY32)};\r
-       if (pProcess32First(hProcessSnap, &processEntry32)) {\r
+       if (Process32First(hProcessSnap, &processEntry32)) {\r
                do {\r
                        LPTSTR pCurChar = NULL;\r
                        for (pCurChar = processEntry32.szExeFile + lstrlen(processEntry32.szExeFile); *pCurChar != _T('\\') && pCurChar != processEntry32.szExeFile; --pCurChar) {\r
@@ -1226,155 +1199,13 @@ DWORD CProfile::GetTaskList(PTASK_LIST pTask, const DWORD dwNumTasks)
 \r
                        ++dwTaskCount;\r
                        ++pTask;\r
-               } while (dwTaskCount < dwNumTasks && pProcess32Next(hProcessSnap, &processEntry32));\r
+               } while (dwTaskCount < dwNumTasks && Process32Next(hProcessSnap, &processEntry32));\r
        }\r
 \r
        CloseHandle(hProcessSnap);\r
        return dwTaskCount;\r
 }\r
 \r
-LPBYTE CProfile::GetCounters()\r
-{\r
-       LANGID lid = MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL);\r
-       CString szSubKey;\r
-       szSubKey.Format(CString(MAKEINTRESOURCE(IDS_REGSUBKEY_PERF)), lid);\r
-       HKEY hKey = NULL;\r
-       if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, szSubKey, 0, KEY_READ, &hKey) != ERROR_SUCCESS) {\r
-               return NULL;\r
-       }\r
-\r
-       DWORD dwSize = 0;\r
-       if (RegQueryValueEx(hKey, CString(MAKEINTRESOURCE(IDS_REGSUBKEY_COUNTERS)), NULL, NULL, NULL, &dwSize) != ERROR_SUCCESS) {\r
-               RegCloseKey(hKey);\r
-               return NULL;\r
-       }\r
-       LPBYTE pCounters = (LPBYTE) calloc(dwSize, sizeof(BYTE));\r
-       if (pCounters == NULL) {\r
-               RegCloseKey(hKey);\r
-               return NULL;\r
-       }\r
-       if (RegQueryValueEx(hKey, CString(MAKEINTRESOURCE(IDS_REGSUBKEY_COUNTERS)), NULL, NULL, pCounters, &dwSize) != ERROR_SUCCESS) {\r
-               RegCloseKey(hKey);\r
-               free(pCounters);\r
-               return NULL;\r
-       }\r
-       RegCloseKey(hKey);\r
-       return pCounters;\r
-}\r
-\r
-BOOL CProfile::GetProcessInfo(CString *const szProcessName, DWORD *const dwProcessId)\r
-{\r
-       LPBYTE pCounters = GetCounters();\r
-       if (!pCounters) {\r
-               return FALSE;\r
-       }\r
-       LPTSTR pTopOfString = (LPTSTR)pCounters;\r
-       while (*pTopOfString) {\r
-               if (_tcsicmp(pTopOfString, CString(MAKEINTRESOURCE(IDS_PROCESS))) == 0) {\r
-                       for (LPTSTR p2 = pTopOfString - 2; _istdigit(*p2); --p2) {\r
-                               ;\r
-                       }\r
-                       szProcessName->Format(_T("%s"), p2 + 1);        // 230\r
-               } else if (_tcsicmp(pTopOfString, CString(MAKEINTRESOURCE(IDS_PROCESSID))) == 0) {\r
-                       for (LPTSTR p2 = pTopOfString - 2; _istdigit(*p2); --p2) {\r
-                               ;\r
-                       }\r
-                       *dwProcessId = _ttol(p2 + 1);                   // 784\r
-               }\r
-               pTopOfString += (_tcslen(pTopOfString) + 1);\r
-       }\r
-       free(pCounters);\r
-       return TRUE;\r
-}\r
-\r
-PPERF_DATA_BLOCK CProfile::GetPerformanceData(const CString szProcessName)\r
-{\r
-       DWORD dwSize = INITIAL_SIZE;\r
-       PPERF_DATA_BLOCK pPerformanceData = (PPERF_DATA_BLOCK) calloc(dwSize, sizeof(BYTE));\r
-       if (pPerformanceData == NULL) {\r
-               return NULL;\r
-       }\r
-\r
-       for (;;) {\r
-               switch (RegQueryValueEx(HKEY_PERFORMANCE_DATA, szProcessName, NULL, NULL, (LPBYTE)pPerformanceData, &dwSize)) {\r
-               case ERROR_SUCCESS:\r
-                       if (0 < dwSize\r
-                        && pPerformanceData->Signature[0] == (WCHAR)'P'\r
-                        && pPerformanceData->Signature[1] == (WCHAR)'E'\r
-                        && pPerformanceData->Signature[2] == (WCHAR)'R'\r
-                        && pPerformanceData->Signature[3] == (WCHAR)'F') {\r
-                               return pPerformanceData;\r
-                       }\r
-               case ERROR_MORE_DATA:\r
-                       dwSize += EXTEND_SIZE;\r
-                       pPerformanceData = (PPERF_DATA_BLOCK) realloc(pPerformanceData, dwSize);\r
-                       if (!pPerformanceData) {\r
-                               return NULL;\r
-                       }\r
-                       memset(pPerformanceData, 0, dwSize);\r
-                       break;\r
-               default:\r
-                       free(pPerformanceData);\r
-                       return NULL;\r
-               }\r
-       }\r
-}\r
-\r
-// Add running application's names to the list\r
-// only for _Windows NT_\r
-DWORD CProfile::GetTaskListNT(PTASK_LIST pTask, DWORD dwNumTasks)\r
-{\r
-       CString szProcessName;\r
-       DWORD dwProcessIdTitle = 0;\r
-       if (!GetProcessInfo(&szProcessName, &dwProcessIdTitle)) {\r
-               return dwNumTasks;\r
-       }\r
-\r
-       PPERF_DATA_BLOCK pPerformanceData = GetPerformanceData(szProcessName);\r
-       if (!pPerformanceData) {\r
-               return dwNumTasks;\r
-       }\r
-\r
-       PPERF_OBJECT_TYPE pObj = (PPERF_OBJECT_TYPE) ((DWORD)pPerformanceData + pPerformanceData->HeaderLength);\r
-       PPERF_COUNTER_DEFINITION pCounterDef = (PPERF_COUNTER_DEFINITION) ((DWORD)pObj + pObj->HeaderLength);\r
-       DWORD dwProcessIdCounter = 0;\r
-       for (DWORD i = 0; i < pObj->NumCounters; ++i) {\r
-               if (pCounterDef->CounterNameTitleIndex == dwProcessIdTitle) {\r
-                       dwProcessIdCounter = pCounterDef->CounterOffset;\r
-                       break;\r
-               }\r
-               ++pCounterDef;\r
-       }\r
-\r
-       dwNumTasks = min(dwNumTasks - 1, (DWORD)pObj->NumInstances);\r
-       PPERF_INSTANCE_DEFINITION pInst = (PPERF_INSTANCE_DEFINITION) ((DWORD)pObj + pObj->DefinitionLength);\r
-       for (i = 0; i < dwNumTasks; ++i) {\r
-               LPCWSTR pProcessName = (LPCWSTR) ((DWORD)pInst + pInst->NameOffset);\r
-\r
-               CHAR szProcessName[MAX_PATH] = {'\0'};\r
-               if (!WideCharToMultiByte(CP_ACP, 0, pProcessName, -1, szProcessName, sizeof(szProcessName), NULL, NULL)) {\r
-                       _tcscpy(pTask->ProcessName, CString(MAKEINTRESOURCE(IDS_UNKNOWN_TASK)));\r
-               }\r
-\r
-               if (_tcslen(szProcessName)+4 <= sizeof(pTask->ProcessName)) {\r
-                       _tcscpy(pTask->ProcessName, szProcessName);\r
-                       _tcscat(pTask->ProcessName, CString(MAKEINTRESOURCE(IDS_EXTENSION_EXECUTABLE)));\r
-               }\r
-\r
-               PPERF_COUNTER_BLOCK pCounter = (PPERF_COUNTER_BLOCK) ((DWORD)pInst + pInst->ByteLength);\r
-               pTask->dwProcessId = *((LPDWORD) ((DWORD)pCounter + dwProcessIdCounter));\r
-               if (pTask->dwProcessId == 0) {\r
-                       pTask->dwProcessId = (DWORD) -2;\r
-               }\r
-\r
-               ++pTask;\r
-               pInst = (PPERF_INSTANCE_DEFINITION) ((DWORD)pCounter + pCounter->ByteLength);\r
-       }\r
-\r
-       free(pPerformanceData);\r
-       return dwNumTasks;\r
-}\r
-\r
 // return application index\r
 // and update setting style\r
 // if there is NOT the application in the data, this function takes care of it.\r
@@ -1644,25 +1475,18 @@ void CProfile::LoadScanCodeMap(const HKEY_TYPE hkeyType)
        CString szSubKey;\r
        CString szValueName;\r
        HKEY hKey = HKEY_LOCAL_MACHINE;\r
-       if (IsNT()) {\r
-               switch (hkeyType) {\r
-               case CURRENT_USER:\r
-                       hKey = HKEY_CURRENT_USER;\r
-                       szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT);\r
-                       break;\r
-               case LOCAL_MACHINE:\r
-                       szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT_ANY_USER);\r
-                       break;\r
-               default:\r
-                       return;\r
-               }\r
-               szValueName.LoadString(IDS_SCANCODE_MAP);\r
-       } else if (Is9x()) {\r
-               szSubKey.LoadString(IDS_REGSUBKEY_KEY_REMAP);\r
-               szValueName.LoadString(IDS_0);\r
-       } else {\r
+       switch (hkeyType) {\r
+       case CURRENT_USER:\r
+               hKey = HKEY_CURRENT_USER;\r
+               szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT);\r
+               break;\r
+       case LOCAL_MACHINE:\r
+               szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT_ANY_USER);\r
+               break;\r
+       default:\r
                return;\r
        }\r
+       szValueName.LoadString(IDS_SCANCODE_MAP);\r
 \r
        HKEY hkResult = NULL;\r
        if (RegOpenKeyEx(hKey, szSubKey, 0, KEY_QUERY_VALUE, &hkResult) == ERROR_SUCCESS) {\r
@@ -1678,27 +1502,25 @@ void CProfile::LoadScanCodeMap(const HKEY_TYPE hkeyType)
                }\r
                RegCloseKey(hkResult);\r
 \r
-               if (IsNT()) {\r
-                       if (lpData && dwData) {\r
-                               DWORD offset = 0;\r
-                               offset += 8;    // skip Version Information and Flags\r
-                               DWORD *pdwMappings = (DWORD *)(lpData + offset);\r
-                               offset += 4;    // skip Number of Mappings\r
-                               DWORD *pdwNullTerminator = (DWORD *)(lpData + dwData - 4);\r
-\r
-                               if (4 * *pdwMappings + 12 != dwData) {\r
-                                       // illegal data\r
-                               } else if (*pdwNullTerminator != 0) {\r
-                                       // illegal data\r
-                               } else {\r
-                                       while (offset < dwData - 4) {\r
-                                               ScanCodeMapping *pMapping = (ScanCodeMapping *)(lpData + offset);\r
-                                               offset += 4;    // go to next data\r
-                                               m_CurrentScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nPrefixedScanCode = pMapping->current.nPrefixedScanCode;\r
-                                               m_CurrentScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nScanCode = pMapping->current.nScanCode;\r
-                                               m_ScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nPrefixedScanCode = pMapping->current.nPrefixedScanCode;\r
-                                               m_ScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nScanCode = pMapping->current.nScanCode;\r
-                                       }\r
+               if (lpData && dwData) {\r
+                       DWORD offset = 0;\r
+                       offset += 8;    // skip Version Information and Flags\r
+                       DWORD *pdwMappings = (DWORD *)(lpData + offset);\r
+                       offset += 4;    // skip Number of Mappings\r
+                       DWORD *pdwNullTerminator = (DWORD *)(lpData + dwData - 4);\r
+\r
+                       if (4 * *pdwMappings + 12 != dwData) {\r
+                               // illegal data\r
+                       } else if (*pdwNullTerminator != 0) {\r
+                               // illegal data\r
+                       } else {\r
+                               while (offset < dwData - 4) {\r
+                                       ScanCodeMapping *pMapping = (ScanCodeMapping *)(lpData + offset);\r
+                                       offset += 4;    // go to next data\r
+                                       m_CurrentScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nPrefixedScanCode = pMapping->current.nPrefixedScanCode;\r
+                                       m_CurrentScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nScanCode = pMapping->current.nScanCode;\r
+                                       m_ScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nPrefixedScanCode = pMapping->current.nPrefixedScanCode;\r
+                                       m_ScanCodeMap[hkeyType][PrefixedScanCode2ID(pMapping->original.nPrefixedScanCode)][pMapping->original.nScanCode].nScanCode = pMapping->current.nScanCode;\r
                                }\r
                        }\r
                }\r
@@ -1756,60 +1578,51 @@ void CProfile::SaveScanCodeMap(const HKEY_TYPE hkeyType)
        CString szSubKey;\r
        CString szValueName;\r
        HKEY hKey = HKEY_LOCAL_MACHINE;\r
-       if (IsNT()) {\r
-               switch (hkeyType) {\r
-               case CURRENT_USER:\r
-                       hKey = HKEY_CURRENT_USER;\r
-                       szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT);\r
-                       break;\r
-               case LOCAL_MACHINE:\r
-                       szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT_ANY_USER);\r
-                       break;\r
-               default:\r
-                       return;\r
-               }\r
-               szValueName.LoadString(IDS_SCANCODE_MAP);\r
-       } else if (Is9x()) {\r
-               szSubKey.LoadString(IDS_REGSUBKEY_KEY_REMAP);\r
-               szValueName.LoadString(IDS_0);\r
-       } else {\r
+       switch (hkeyType) {\r
+       case CURRENT_USER:\r
+               hKey = HKEY_CURRENT_USER;\r
+               szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT);\r
+               break;\r
+       case LOCAL_MACHINE:\r
+               szSubKey.LoadString(IDS_REGSUBKEY_KEYBOARD_LAYOUT_ANY_USER);\r
+               break;\r
+       default:\r
                return;\r
        }\r
+       szValueName.LoadString(IDS_SCANCODE_MAP);\r
 \r
        HKEY hkResult = NULL;\r
        if (RegCreateKeyEx(hKey, szSubKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hkResult, NULL) == ERROR_SUCCESS) {\r
-               if (IsNT()) {\r
-                       DWORD cbData = GetScanCodeLength(hkeyType);\r
-                       if (cbData <= 16) {\r
-                               RegDeleteValue(hkResult, szValueName);\r
-                       } else {\r
-                               LPBYTE lpData = new BYTE[cbData];\r
-                               memset(lpData, 0, sizeof(BYTE) * cbData);\r
+               DWORD cbData = GetScanCodeLength(hkeyType);\r
+               if (cbData <= 16) {\r
+                       RegDeleteValue(hkResult, szValueName);\r
+               } else {\r
+                       LPBYTE lpData = new BYTE[cbData];\r
+                       memset(lpData, 0, sizeof(BYTE) * cbData);\r
 \r
-                               {\r
-                                       DWORD dwMappings = (cbData - 12) / 4;\r
-                                       memmove(lpData + 8, &dwMappings, 4);\r
-                               }\r
+                       {\r
+                               DWORD dwMappings = (cbData - 12) / 4;\r
+                               memmove(lpData + 8, &dwMappings, 4);\r
+                       }\r
 \r
-                               int offset = 12;\r
-                               for (int nPrefixedScanCodeID = 0; nPrefixedScanCodeID < 3; ++nPrefixedScanCodeID) {\r
-                                       for (int nScanCode = 0; nScanCode < 256; ++nScanCode) {\r
-                                               if (m_ScanCodeMap[hkeyType][nPrefixedScanCodeID][nScanCode].nScanCode) {\r
-                                                       ScanCodeMapping sScanCodeMapping = {'\0'};\r
-                                                       sScanCodeMapping.original.nPrefixedScanCode = PrefixedScanCodeID2Code(nPrefixedScanCodeID);\r
-                                                       sScanCodeMapping.original.nScanCode = (BYTE)nScanCode;\r
-                                                       sScanCodeMapping.current.nPrefixedScanCode = m_ScanCodeMap[hkeyType][nPrefixedScanCodeID][nScanCode].nPrefixedScanCode;\r
-                                                       sScanCodeMapping.current.nScanCode = m_ScanCodeMap[hkeyType][nPrefixedScanCodeID][nScanCode].nScanCode;\r
-                                                       memcpy(lpData + offset, &sScanCodeMapping, sizeof(sScanCodeMapping));\r
-                                                       offset += sizeof(sScanCodeMapping);\r
-                                               }\r
+                       int offset = 12;\r
+                       for (int nPrefixedScanCodeID = 0; nPrefixedScanCodeID < 3; ++nPrefixedScanCodeID) {\r
+                               for (int nScanCode = 0; nScanCode < 256; ++nScanCode) {\r
+                                       if (m_ScanCodeMap[hkeyType][nPrefixedScanCodeID][nScanCode].nScanCode) {\r
+                                               ScanCodeMapping sScanCodeMapping = {'\0'};\r
+                                               sScanCodeMapping.original.nPrefixedScanCode = PrefixedScanCodeID2Code(nPrefixedScanCodeID);\r
+                                               sScanCodeMapping.original.nScanCode = (BYTE)nScanCode;\r
+                                               sScanCodeMapping.current.nPrefixedScanCode = m_ScanCodeMap[hkeyType][nPrefixedScanCodeID][nScanCode].nPrefixedScanCode;\r
+                                               sScanCodeMapping.current.nScanCode = m_ScanCodeMap[hkeyType][nPrefixedScanCodeID][nScanCode].nScanCode;\r
+                                               memcpy(lpData + offset, &sScanCodeMapping, sizeof(sScanCodeMapping));\r
+                                               offset += sizeof(sScanCodeMapping);\r
                                        }\r
                                }\r
-                               RegSetValueEx(hkResult, szValueName, 0, REG_BINARY, lpData, cbData);\r
-\r
-                               delete[] lpData;\r
-                               lpData = NULL;\r
                        }\r
+                       RegSetValueEx(hkResult, szValueName, 0, REG_BINARY, lpData, cbData);\r
+\r
+                       delete[] lpData;\r
+                       lpData = NULL;\r
                }\r
                RegCloseKey(hkResult);\r
        }\r
@@ -1822,30 +1635,6 @@ void CProfile::SaveScanCodeMap(const HKEY_TYPE hkeyType)
        }\r
 }\r
 \r
-// Return True if Windows 95, Windows 98, or Windows Me. \r
-BOOL CProfile::Is9x()\r
-{\r
-       OSVERSIONINFO info = {sizeof(OSVERSIONINFO)};\r
-       GetVersionEx(&info);\r
-\r
-       if (info.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {\r
-               return TRUE;\r
-       }\r
-       return FALSE;\r
-}\r
-\r
-// Return True if Windows NT 4.0, Windows 2000, Windows XP, Windows 2003 or Windows Vista.\r
-BOOL CProfile::IsNT()\r
-{\r
-       OSVERSIONINFO info = {sizeof(OSVERSIONINFO)};\r
-       GetVersionEx(&info);\r
-\r
-       if (info.dwPlatformId == VER_PLATFORM_WIN32_NT) {\r
-               return TRUE;\r
-       }\r
-       return FALSE;\r
-}\r
-\r
 // Return True if Windows Vista or later.\r
 BOOL CProfile::IsVistaOrLater()\r
 {\r
@@ -2046,26 +1835,24 @@ BOOL CProfile::AdjustTokenPrivileges(LPCTSTR lpName)
 {\r
        BOOL rc = TRUE;\r
 \r
-       if (IsNT()) {\r
-               HANDLE hToken;\r
-               if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) {\r
-                       LUID luid;\r
-                       if (LookupPrivilegeValue(NULL, lpName, &luid)) {\r
-                               TOKEN_PRIVILEGES tp;\r
-                               tp.PrivilegeCount = 1;\r
-                               tp.Privileges[0].Luid = luid;\r
-                               tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;\r
-\r
-                               if (!::AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL)) {\r
-                                       rc = FALSE;\r
-                               }\r
-                       } else {\r
+       HANDLE hToken;\r
+       if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) {\r
+               LUID luid;\r
+               if (LookupPrivilegeValue(NULL, lpName, &luid)) {\r
+                       TOKEN_PRIVILEGES tp;\r
+                       tp.PrivilegeCount = 1;\r
+                       tp.Privileges[0].Luid = luid;\r
+                       tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;\r
+\r
+                       if (!::AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL)) {\r
                                rc = FALSE;\r
                        }\r
-                       CloseHandle(hToken);\r
                } else {\r
                        rc = FALSE;\r
                }\r
+               CloseHandle(hToken);\r
+       } else {\r
+               rc = FALSE;\r
        }\r
 \r
        return rc;\r
@@ -2075,16 +1862,14 @@ BOOL CProfile::DiableTokenPrivileges()
 {\r
        BOOL rc = TRUE;\r
 \r
-       if (IsNT()) {\r
-               HANDLE hToken;\r
-               if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) {\r
-                       if (!::AdjustTokenPrivileges(hToken, TRUE, NULL, NULL, NULL, NULL)) {\r
-                               rc = FALSE;\r
-                       }\r
-                       CloseHandle(hToken);\r
-               } else {\r
+       HANDLE hToken;\r
+       if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) {\r
+               if (!::AdjustTokenPrivileges(hToken, TRUE, NULL, NULL, NULL, NULL)) {\r
                        rc = FALSE;\r
                }\r
+               CloseHandle(hToken);\r
+       } else {\r
+               rc = FALSE;\r
        }\r
 \r
        return rc;\r
index 6ac6056..155e8b7 100644 (file)
 \r
 #define PROCESS_SIZE        MAX_PATH\r
 \r
-//\r
-// Function pointer types for accessing Toolhelp32 functions dynamically.\r
-// By dynamically accessing these functions, we can do so only on Windows\r
-// 95 and still run on Windows NT, which does not have these functions.\r
-//\r
-#include <tlhelp32.h>  // for Windows 95\r
-typedef BOOL (WINAPI *PROCESSWALK)(HANDLE hSnapshot, LPPROCESSENTRY32 lppe);\r
-typedef HANDLE (WINAPI *CREATESNAPSHOT)(DWORD dwFlags, DWORD th32ProcessID);\r
-\r
 struct TASK_LIST {\r
     DWORD dwProcessId;\r
     CHAR ProcessName[PROCESS_SIZE];\r
@@ -195,8 +186,6 @@ public:
        static BOOL GetScanCodeMap(HKEY_TYPE hkeyType, ScanCode original, ScanCode *current);\r
        static void RestartComputer();\r
        static BOOL IsVistaOrLater();\r
-       static BOOL IsNT();\r
-       static BOOL Is9x();\r
        static void SaveScanCodeMap(HKEY_TYPE hkeyType);\r
        static void LoadScanCodeMap(HKEY_TYPE hkeyType);\r
        static BOOL Is106Keyboard();\r
@@ -250,13 +239,9 @@ private:
        static void GetAppName(CString *szAppName, LPCTSTR pWindowName);\r
        static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);\r
        static BOOL IsTheString(CString sz, UINT nID);\r
-       static PPERF_DATA_BLOCK GetPerformanceData(CString szProcessName);\r
-       static BOOL GetProcessInfo(CString *szProcessName, DWORD *dwProcessId);\r
-       static LPBYTE GetCounters();\r
        static void SetDllData();\r
        static CXkeymacsData m_XkeymacsData[MAX_APP];\r
        static void DeleteAllRegistryData();\r
-       static DWORD GetTaskListNT(PTASK_LIST pTask, DWORD dwNumTasks);\r
        static DWORD GetTaskList(PTASK_LIST pTask, DWORD dwNumTasks);\r
        static BOOL IsCommandType(int nCommandType, LPCTSTR szKeyBind);\r
        static int KeyBind2Key(LPCTSTR szKey);\r
index 389506b..8e3b9ee 100644 (file)
@@ -437,32 +437,30 @@ LRESULT CALLBACK CPropertiesAdvanced::KeyboardProc(int code, WPARAM wParam, LPAR
 \r
        if (lParam & BEING_RELEASED) {  // Key Up\r
        } else {                                                // Key Down\r
-               if (CProfile::IsNT()) {\r
-                       switch (wParam) {\r
-                       case VK_CONTROL:\r
-                               if (lParam & EXTENDED_KEY) {\r
-                                       wParam = VK_RCONTROL;\r
-                               } else {\r
-                                       wParam = VK_LCONTROL;\r
-                               }\r
-                               break;\r
-                       case VK_MENU:\r
-                               if (lParam & EXTENDED_KEY) {\r
-                                       wParam = VK_RMENU;\r
-                               } else {\r
-                                       wParam = VK_LMENU;\r
-                               }\r
-                               break;\r
-                       case VK_SHIFT:\r
-                               if (lParam & EXTENDED_KEY) {\r
-                                       wParam = VK_RSHIFT;\r
-                               } else {\r
-                                       wParam = VK_LSHIFT;\r
-                               }\r
-                               break;\r
-                       default:\r
-                               break;\r
+               switch (wParam) {\r
+               case VK_CONTROL:\r
+                       if (lParam & EXTENDED_KEY) {\r
+                               wParam = VK_RCONTROL;\r
+                       } else {\r
+                               wParam = VK_LCONTROL;\r
                        }\r
+                       break;\r
+               case VK_MENU:\r
+                       if (lParam & EXTENDED_KEY) {\r
+                               wParam = VK_RMENU;\r
+                       } else {\r
+                               wParam = VK_LMENU;\r
+                       }\r
+                       break;\r
+               case VK_SHIFT:\r
+                       if (lParam & EXTENDED_KEY) {\r
+                               wParam = VK_RSHIFT;\r
+                       } else {\r
+                               wParam = VK_LSHIFT;\r
+                       }\r
+                       break;\r
+               default:\r
+                       break;\r
                }\r
                m_nAssignKey = wParam;\r
                SetNewKey();\r
index a41cff8..490c00e 100644 (file)
@@ -2453,7 +2453,6 @@ void CCommands::OpenFindDialog()
         || CUtils::IseMemoPad()\r
         || CUtils::IsJmEditor()\r
         || CUtils::IsK2Editor()\r
-        || (CUtils::IsNotepad() && CUtils::IsNTor9x())\r
         || CUtils::IsOedit()\r
         || CUtils::IsOpenJane()\r
         || CUtils::IsPHPEditor()\r
index d216f18..542dece 100644 (file)
@@ -377,11 +377,7 @@ void CUtils::SetApplicationName(BOOL bImeComposition)
 //                     CUtils::Log(_T("SetApplicationName: console"));\r
 \r
                        memset(m_szApplicationName, 0, sizeof(m_szApplicationName));\r
-                       if (IsNT()) {\r
-                               _tcscpy(m_szApplicationName, _T("CMD.exe"));\r
-                       } else {\r
-                               _tcscpy(m_szApplicationName, _T("WINOA386.MOD"));\r
-                       }\r
+                       _tcscpy(m_szApplicationName, _T("CMD.exe"));\r
                        TCHAR szWindowText[0x100] = {'\0'};\r
                        GetWindowText(GetForegroundWindow(), szWindowText, sizeof(szWindowText));\r
                        SetCorrectApplicationName(m_szApplicationName, sizeof(m_szApplicationName), szWindowText, sizeof(szWindowText));\r
@@ -414,23 +410,12 @@ void CUtils::InitCUtils()
        SetIMEName();\r
 }\r
 \r
-BOOL CUtils::IsNTor9x()\r
-{\r
-       return ((m_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) && (m_OsVersionInfo.dwMajorVersion <= 4))\r
-                || (m_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS);\r
-}\r
-\r
 BOOL CUtils::IsXPorLater()\r
 {\r
        return 5 < m_OsVersionInfo.dwMajorVersion\r
                || 5 == m_OsVersionInfo.dwMajorVersion && 1 <= m_OsVersionInfo.dwMinorVersion;\r
 }\r
 \r
-BOOL CUtils::IsNT()\r
-{\r
-       return m_OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT;\r
-}\r
-\r
 BOOL CUtils::OpenClipboard()\r
 {\r
        const int RETRY_COUNT = 0x10;\r
index c7144c5..2cbec7b 100644 (file)
@@ -51,7 +51,6 @@ public:
        static BOOL IsNami2000();\r
        static BOOL IsStoryEditor();\r
        static BOOL IseMemoPad();\r
-       static BOOL IsNT();\r
        static BOOL IsCodeWarrior();\r
        static BOOL IsVisualBasicEditor();\r
        static BOOL IsEudora();\r
@@ -88,7 +87,6 @@ public:
        static BOOL IsEmacs();\r
        static BOOL SetClipboardText(CString *szClipboardText);\r
        static BOOL GetClipboardText(CString *szClipboardText);\r
-       static BOOL IsNTor9x();\r
        static void InitCUtils();\r
        static void SetApplicationName(BOOL bImeComposition);\r
        static LPCTSTR const GetApplicationName();\r
index a316ec1..b98a77b 100644 (file)
@@ -847,32 +847,30 @@ LRESULT CALLBACK CXkeymacsDll::KeyboardProc(int nCode, WPARAM wParam, LPARAM lPa
                }\r
        }\r
 \r
-       if (CUtils::IsNT()) {\r
-               switch (nKey) {\r
-               case VK_CONTROL:\r
-                       if (lParam & EXTENDED_KEY) {\r
-                               nKey = VK_RCONTROL;\r
-                       } else {\r
-                               nKey = VK_LCONTROL;\r
-                       }\r
-                       break;\r
-               case VK_MENU:\r
-                       if (lParam & EXTENDED_KEY) {\r
-                               nKey = VK_RMENU;\r
-                       } else {\r
-                               nKey = VK_LMENU;\r
-                       }\r
-                       break;\r
-               case VK_SHIFT:\r
-                       if (lParam & EXTENDED_KEY) {\r
-                               nKey = VK_RSHIFT;\r
-                       } else {\r
-                               nKey = VK_LSHIFT;\r
-                       }\r
-                       break;\r
-               default:\r
-                       break;\r
+       switch (nKey) {\r
+       case VK_CONTROL:\r
+               if (lParam & EXTENDED_KEY) {\r
+                       nKey = VK_RCONTROL;\r
+               } else {\r
+                       nKey = VK_LCONTROL;\r
+               }\r
+               break;\r
+       case VK_MENU:\r
+               if (lParam & EXTENDED_KEY) {\r
+                       nKey = VK_RMENU;\r
+               } else {\r
+                       nKey = VK_LMENU;\r
                }\r
+               break;\r
+       case VK_SHIFT:\r
+               if (lParam & EXTENDED_KEY) {\r
+                       nKey = VK_RSHIFT;\r
+               } else {\r
+                       nKey = VK_LSHIFT;\r
+               }\r
+               break;\r
+       default:\r
+               break;\r
        }\r
 \r
        if (lParam & BEING_RELEASED) {\r
@@ -1443,15 +1441,13 @@ BOOL CXkeymacsDll::IsValidKey(BYTE bVk)
                return FALSE;\r
        }\r
 \r
-       if (CUtils::IsNT()) {\r
-               switch (bVk) {\r
-               case VK_CONTROL:\r
-               case VK_MENU:\r
-               case VK_SHIFT:\r
-                       return FALSE;\r
-               default:\r
-                       break;\r
-               }\r
+       switch (bVk) {\r
+       case VK_CONTROL:\r
+       case VK_MENU:\r
+       case VK_SHIFT:\r
+               return FALSE;\r
+       default:\r
+               break;\r
        }\r
 \r
        return TRUE;\r
@@ -1585,20 +1581,18 @@ void CXkeymacsDll::Original(int nCommandType, BYTE bVk, int nOriginal)
 {\r
        nCommandType &= ~SHIFT;\r
 \r
-       if (CUtils::IsNT()) {\r
-               switch (bVk) {\r
-               case VK_CONTROL:\r
-                       bVk = VK_LCONTROL;\r
-                       break;\r
-               case VK_MENU:\r
-                       bVk = VK_LMENU;\r
-                       break;\r
-               case VK_SHIFT:\r
-                       bVk = VK_LSHIFT;\r
-                       break;\r
-               default:\r
-                       break;\r
-               }\r
+       switch (bVk) {\r
+       case VK_CONTROL:\r
+               bVk = VK_LCONTROL;\r
+               break;\r
+       case VK_MENU:\r
+               bVk = VK_LMENU;\r
+               break;\r
+       case VK_SHIFT:\r
+               bVk = VK_LSHIFT;\r
+               break;\r
+       default:\r
+               break;\r
        }\r
 \r
        m_nOriginal[nCommandType][bVk] += nOriginal;\r
@@ -1608,20 +1602,18 @@ int CXkeymacsDll::Original(int nCommandType, BYTE bVk)
 {\r
        nCommandType &= ~SHIFT;\r
 \r
-       if (CUtils::IsNT()) {\r
-               switch (bVk) {\r
-               case VK_CONTROL:\r
-                       bVk = VK_LCONTROL;\r
-                       break;\r
-               case VK_MENU:\r
-                       bVk = VK_LMENU;\r
-                       break;\r
-               case VK_SHIFT:\r
-                       bVk = VK_LSHIFT;\r
-                       break;\r
-               default:\r
-                       break;\r
-               }\r
+       switch (bVk) {\r
+       case VK_CONTROL:\r
+               bVk = VK_LCONTROL;\r
+               break;\r
+       case VK_MENU:\r
+               bVk = VK_LMENU;\r
+               break;\r
+       case VK_SHIFT:\r
+               bVk = VK_LSHIFT;\r
+               break;\r
+       default:\r
+               break;\r
        }\r
 \r
        return m_nOriginal[nCommandType][bVk];\r