OSDN Git Service

Give main roles to 32bit version and simplify 64bit version.
[xkeymacs/xkeymacs.git] / xkeymacs / xkeymacs.h
index 4d31a06..fa9433d 100644 (file)
 \r
 #include "resource.h"       // main symbols\r
 \r
-enum Instance\r
-{\r
-       FirstInstance,\r
-       SecondInstance,\r
-};\r
-\r
-\r
 /////////////////////////////////////////////////////////////////////////////\r
 // CXkeymacsApp:\r
 // See xkeymacs.cpp for the implementation of this class\r
@@ -41,319 +34,18 @@ public:
 \r
 // Implementation\r
        //{{AFX_MSG(CXkeymacsApp)\r
-       afx_msg void OnAppAbout();\r
                // NOTE - the ClassWizard will add and remove member functions here.\r
                //    DO NOT EDIT what you see in these blocks of generated code !\r
        //}}AFX_MSG\r
+       BOOL IsWow64();\r
+       BOOL SendIPCMessage(DWORD msg);\r
+       BOOL Create64bitProcess();\r
        DECLARE_MESSAGE_MAP()\r
 private:\r
-       Instance m_Instance;\r
        HANDLE m_hMutex;\r
+       BOOL m_bIsWow64;\r
 };\r
 \r
-/////////////////////////////////////////////////////////////////////////////\r
-// CAboutDlg dialog used for App About\r
-\r
-class CAboutDlg : public CDialog\r
-{\r
-public:\r
-       CAboutDlg();\r
-\r
-// Dialog Data\r
-       //{{AFX_DATA(CAboutDlg)\r
-       enum { IDD = IDD_ABOUTBOX };\r
-       CStatic m_cURL;\r
-       CString m_szVersionInformation;\r
-       CString m_szLegalCopyright;\r
-       //}}AFX_DATA\r
-\r
-       // ClassWizard generated virtual function overrides\r
-       //{{AFX_VIRTUAL(CAboutDlg)\r
-       protected:\r
-       virtual void DoDataExchange(CDataExchange *pDX);    // DDX/DDV support\r
-       //}}AFX_VIRTUAL\r
-\r
-// Implementation\r
-protected:\r
-       //{{AFX_MSG(CAboutDlg)\r
-       virtual void OnOK();\r
-       afx_msg void OnClose();\r
-       afx_msg void OnUrl();\r
-       afx_msg HBRUSH OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor);\r
-       afx_msg BOOL OnSetCursor(CWnd *pWnd, UINT nHitTest, UINT message);\r
-       //}}AFX_MSG\r
-       DECLARE_MESSAGE_MAP()\r
-};\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-static const KeyName_t KeyNames[] = {\r
-       {0,                             _T("")},\r
-       {VK_LBUTTON,    _T("Left mouse button")},\r
-       {VK_RBUTTON,    _T("Right mouse button")},\r
-       {VK_CANCEL,             _T("Break")},\r
-       {VK_MBUTTON,    _T("Middle mouse button")},\r
-       {0x05,                  _T("X1 mouse button")}, // VK_XBUTTON1\r
-       {0x06,                  _T("X2 mouse button")}, // VK_XBUTTON2\r
-       {0x07,                  _T("Undefined")},\r
-       {VK_BACK,               _T("Backspace")},\r
-       {VK_TAB,                _T("Tab")},\r
-       {0x0a,                  _T("Reserved")},\r
-       {0x0b,                  _T("Reserved")},\r
-       {VK_CLEAR,              _T("Clear")},\r
-       {VK_RETURN,             _T("Enter")},\r
-       {0x0e,                  _T("Undefined")},\r
-       {0x0f,                  _T("Undefined")},\r
-       {VK_SHIFT,              _T("Shift")},\r
-       {VK_CONTROL,    _T("Ctrl")},\r
-       {VK_MENU,               _T("Alt")},\r
-       {VK_PAUSE,              _T("Pause")},\r
-       {VK_CAPITAL,    _T("Caps Lock")},\r
-       {VK_KANA,               _T("Kana")},    //      {VK_HANGUEL,    "Hanguel"},     {VK_HANGUL,             "Hangul"},\r
-       {0x16,                  _T("Undefined")},\r
-       {VK_JUNJA,              _T("Junja")},\r
-       {VK_FINAL,              _T("Final")},\r
-       {VK_KANJI,              _T("Kanji")},   //      {VK_HANJA,              "Hanja"},\r
-       {0x1a,                  _T("Undefined")},\r
-       {VK_ESCAPE,             _T("Esc")},\r
-       {VK_CONVERT,    _T("Convert")},         // \95Ï\8a·\r
-       {VK_NONCONVERT, _T("Nonconvert")},      // \96³\95Ï\8a·\r
-       {VK_ACCEPT,             _T("Accept")},\r
-       {VK_MODECHANGE, _T("Mode change")},\r
-       {VK_SPACE,              _T("Space")},\r
-       {VK_PRIOR,              _T("Page Up")},\r
-       {VK_NEXT,               _T("Page Down")},\r
-       {VK_END,                _T("End")},\r
-       {VK_HOME,               _T("Home")},\r
-       {VK_LEFT,               _T("Left")},\r
-       {VK_UP,                 _T("Up")},\r
-       {VK_RIGHT,              _T("Right")},\r
-       {VK_DOWN,               _T("Down")},\r
-       {VK_SELECT,             _T("Select")},\r
-       {VK_PRINT,              _T("Print")},\r
-       {VK_EXECUTE,    _T("Execute")},\r
-       {VK_SNAPSHOT,   _T("Print Screen")},\r
-       {VK_INSERT,             _T("Ins")},\r
-       {VK_DELETE,             _T("Del")},\r
-       {VK_HELP,               _T("Help")},\r
-       {'0',                   _T("0")},\r
-       {'1',                   _T("1")},\r
-       {'2',                   _T("2")},\r
-       {'3',                   _T("3")},\r
-       {'4',                   _T("4")},\r
-       {'5',                   _T("5")},\r
-       {'6',                   _T("6")},\r
-       {'7',                   _T("7")},\r
-       {'8',                   _T("8")},\r
-       {'9',                   _T("9")},\r
-       {0x3a,                  _T("Undefined")},\r
-       {0x3b,                  _T("Undefined")},\r
-       {0x3c,                  _T("Undefined")},\r
-       {0x3d,                  _T("Undefined")},\r
-       {0x3e,                  _T("Undefined")},\r
-       {0x3f,                  _T("Undefined")},\r
-       {0x40,                  _T("Undefined")},\r
-       {'A',                   _T("A")},\r
-       {'B',                   _T("B")},\r
-       {'C',                   _T("C")},\r
-       {'D',                   _T("D")},\r
-       {'E',                   _T("E")},\r
-       {'F',                   _T("F")},\r
-       {'G',                   _T("G")},\r
-       {'H',                   _T("H")},\r
-       {'I',                   _T("I")},\r
-       {'J',                   _T("J")},\r
-       {'K',                   _T("K")},\r
-       {'L',                   _T("L")},\r
-       {'M',                   _T("M")},\r
-       {'N',                   _T("N")},\r
-       {'O',                   _T("O")},\r
-       {'P',                   _T("P")},\r
-       {'Q',                   _T("Q")},\r
-       {'R',                   _T("R")},\r
-       {'S',                   _T("S")},\r
-       {'T',                   _T("T")},\r
-       {'U',                   _T("U")},\r
-       {'V',                   _T("V")},\r
-       {'W',                   _T("W")},\r
-       {'X',                   _T("X")},\r
-       {'Y',                   _T("Y")},\r
-       {'Z',                   _T("Z")},\r
-       {VK_LWIN,               _T("Left Windows")},\r
-       {VK_RWIN,               _T("Right Windows")},\r
-       {VK_APPS,               _T("Application")},\r
-       {0x5e,                  _T("Reserved")},\r
-       {0x5f,                  _T("Sleep")},   // VK_SLEEP\r
-       {VK_NUMPAD0,    _T("Num 0")},\r
-       {VK_NUMPAD1,    _T("Num 1")},\r
-       {VK_NUMPAD2,    _T("Num 2")},\r
-       {VK_NUMPAD3,    _T("Num 3")},\r
-       {VK_NUMPAD4,    _T("Num 4")},\r
-       {VK_NUMPAD5,    _T("Num 5")},\r
-       {VK_NUMPAD6,    _T("Num 6")},\r
-       {VK_NUMPAD7,    _T("Num 7")},\r
-       {VK_NUMPAD8,    _T("Num 8")},\r
-       {VK_NUMPAD9,    _T("Num 9")},\r
-       {VK_MULTIPLY,   _T("Num *")},\r
-       {VK_ADD,                _T("Num +")},\r
-       {VK_SEPARATOR,  _T("Separator")},\r
-       {VK_SUBTRACT,   _T("Num -")},\r
-       {VK_DECIMAL,    _T("Num .")},\r
-       {VK_DIVIDE,             _T("Num /")},\r
-       {VK_F1,                 _T("F1")},\r
-       {VK_F2,                 _T("F2")},\r
-       {VK_F3,                 _T("F3")},\r
-       {VK_F4,                 _T("F4")},\r
-       {VK_F5,                 _T("F5")},\r
-       {VK_F6,                 _T("F6")},\r
-       {VK_F7,                 _T("F7")},\r
-       {VK_F8,                 _T("F8")},\r
-       {VK_F9,                 _T("F9")},\r
-       {VK_F10,                _T("F10")},\r
-       {VK_F11,                _T("F11")},\r
-       {VK_F12,                _T("F12")},\r
-       {VK_F13,                _T("F13")},\r
-       {VK_F14,                _T("F14")},\r
-       {VK_F15,                _T("F15")},\r
-       {VK_F16,                _T("F16")},\r
-       {VK_F17,                _T("F17")},\r
-       {VK_F18,                _T("F18")},\r
-       {VK_F19,                _T("F19")},\r
-       {VK_F20,                _T("F20")},\r
-       {VK_F21,                _T("F21")},\r
-       {VK_F22,                _T("F22")},\r
-       {VK_F23,                _T("F23")},\r
-       {VK_F24,                _T("F24")},\r
-       {0x88,                  _T("Unassigned")},\r
-       {0x89,                  _T("Unassigned")},\r
-       {0x8a,                  _T("Unassigned")},\r
-       {0x8b,                  _T("Unassigned")},\r
-       {0x8c,                  _T("Unassigned")},\r
-       {0x8d,                  _T("Unassigned")},\r
-       {0x8e,                  _T("Unassigned")},\r
-       {0x8f,                  _T("Unassigned")},\r
-       {VK_NUMLOCK,    _T("Num Lock")},\r
-       {VK_SCROLL,             _T("Scroll Lock")},\r
-       {0x92,                  _T("OEM specific")},\r
-       {0x93,                  _T("OEM specific")},\r
-       {0x94,                  _T("OEM specific")},\r
-       {0x95,                  _T("OEM specific")},\r
-       {0x96,                  _T("OEM specific")},\r
-       {0x97,                  _T("Unassigned")},\r
-       {0x98,                  _T("Unassigned")},\r
-       {0x99,                  _T("Unassigned")},\r
-       {0x9a,                  _T("Unassigned")},\r
-       {0x9b,                  _T("Unassigned")},\r
-       {0x9c,                  _T("Unassigned")},\r
-       {0x9d,                  _T("Unassigned")},\r
-       {0x9e,                  _T("Unassigned")},\r
-       {0x9f,                  _T("Unassigned")},\r
-       {VK_LSHIFT,             _T("Left Shift")},\r
-       {VK_RSHIFT,             _T("Right Shift")},\r
-       {VK_LCONTROL,   _T("Left Ctrl")},\r
-       {VK_RCONTROL,   _T("Right Ctrl")},\r
-       {VK_LMENU,              _T("Left Alt")},\r
-       {VK_RMENU,              _T("Right Alt")},\r
-       {0xa6,                  _T("Browser Back")},            // VK_BROWSER_BACK\r
-       {0xa7,                  _T("Browser Forward")},         // VK_BROWSER_FORWARD\r
-       {0xa8,                  _T("Browser Refresh")},         // VK_BROWSER_REFRESH\r
-       {0xa9,                  _T("Browser Stop")},            // VK_BROWSER_STOP\r
-       {0xaa,                  _T("Browser Search")},          // VK_BROWSER_SEARCH\r
-       {0xab,                  _T("Browser Favorites")},       // VK_BROWSER_FAVORITES\r
-       {0xac,                  _T("Browser Start")},           // VK_BROWSER_HOME\r
-       {0xad,                  _T("Volume Mute")},                     // VK_VOLUME_MUTE\r
-       {0xae,                  _T("Volume Down")},                     // VK_VOLUME_DOWN\r
-       {0xaf,                  _T("Volume Up")},                       // VK_VOLUME_UP\r
-       {0xb0,                  _T("Next Track")},                      // VK_MEDIA_NEXT_TRACK\r
-       {0xb1,                  _T("Previous Track")},          // VK_MEDIA_PREV_TRACK\r
-       {0xb2,                  _T("Stop Media")},                      // VK_MEDIA_STOP\r
-       {0xb3,                  _T("Play/Pause Media")},        // VK_MEDIA_PLAY_PAUSE\r
-       {0xb4,                  _T("Start Mail")},                      // VK_LAUNCH_MAIL\r
-       {0xb5,                  _T("Select Media")},            // VK_LAUNCH_MEDIA_SELECT\r
-       {0xb6,                  _T("Start Application 1")},     // VK_LAUNCH_APP1\r
-       {0xb7,                  _T("Start Application 2")},     // VK_LAUNCH_APP2\r
-       {0xb8,                  _T("Reserved")},\r
-       {0xb9,                  _T("Reserved")},\r
-       {0xba,                  _T(";")},                                       // VK_OEM_1\r
-//     {0xba,                  _T(":")},                                       // VK_OEM_1             // for Japanese keyboard\r
-       {0xbb,                  _T("+")},                                       // VK_OEM_PLUS\r
-//     {0xbb,                  _T(";")},                                       // VK_OEM_PLUS  // for Japanese keyboard\r
-       {0xbc,                  _T(",")},                                       // VK_OEM_COMMA\r
-       {0xbd,                  _T("-")},                                       // VK_OEM_MINUS\r
-       {0xbe,                  _T(".")},                                       // VK_OEM_PERIOD\r
-       {0xbf,                  _T("/")},                                       // VK_OEM_2\r
-       {0xc0,                  _T("`")},                                       // VK_OEM_3\r
-//     {0xc0,                  _T("@")},                                       // VK_OEM_3             // for Japanese keyboard\r
-       {0xc1,                  _T("Reserved")},\r
-       {0xc2,                  _T("Reserved")},\r
-       {0xc3,                  _T("Reserved")},\r
-       {0xc4,                  _T("Reserved")},\r
-       {0xc5,                  _T("Reserved")},\r
-       {0xc6,                  _T("Reserved")},\r
-       {0xc7,                  _T("Reserved")},\r
-       {0xc8,                  _T("Reserved")},\r
-       {0xc9,                  _T("Reserved")},\r
-       {0xca,                  _T("Reserved")},\r
-       {0xcb,                  _T("Reserved")},\r
-       {0xcc,                  _T("Reserved")},\r
-       {0xcd,                  _T("Reserved")},\r
-       {0xce,                  _T("Reserved")},\r
-       {0xcf,                  _T("Reserved")},\r
-       {0xd0,                  _T("Reserved")},\r
-       {0xd1,                  _T("Reserved")},\r
-       {0xd2,                  _T("Reserved")},\r
-       {0xd3,                  _T("Reserved")},\r
-       {0xd4,                  _T("Reserved")},\r
-       {0xd5,                  _T("Reserved")},\r
-       {0xd6,                  _T("Reserved")},\r
-       {0xd7,                  _T("Reserved")},\r
-       {0xd8,                  _T("Unassigned")},\r
-       {0xd9,                  _T("Unassigned")},\r
-       {0xda,                  _T("Unassigned")},\r
-       {0xdb,                  _T("[")},                                       // VK_OEM_4\r
-       {0xdc,                  _T("Backslash")},                       // VK_OEM_5\r
-       {0xdd,                  _T("]")},                                       // VK_OEM_6\r
-       {0xde,                  _T("'")},                                       // VK_OEM_7\r
-       {0xdf,                  _T("OEM specific")},            // VK_OEM_8\r
-       {0xe0,                  _T("Reserved")},\r
-       {0xe1,                  _T("OEM specific")},\r
-       {0xe2,                  _T("Backslash for 106 keyboard")},      // VK_OEM_102\r
-       {0xe3,                  _T("OEM specific")},\r
-       {0xe4,                  _T("OEM specific")},\r
-       {0xe5,                  _T("Process")},                         // VK_PROCESSKEY\r
-       {0xe6,                  _T("OEM specific")},\r
-       {0xe7,                  _T("Packet")},  // VK_PACKET\r
-       {0xe8,                  _T("Unassigned")},\r
-       {0xe9,                  _T("OEM specific")},\r
-       {0xea,                  _T("OEM specific")},\r
-       {0xeb,                  _T("OEM specific")},\r
-       {0xec,                  _T("OEM specific")},\r
-       {0xed,                  _T("OEM specific")},\r
-       {0xee,                  _T("OEM specific")},\r
-       {0xef,                  _T("OEM specific")},\r
-       {0xf0,                  _T("Eisu")},                                    // \89p\90\94\r
-       {0xf1,                  _T("OEM specific")},\r
-       {0xf2,                  _T("Hiragana")},                                // \82Ð\82ç\82ª\82È\r
-       {0xf3,                  _T("Hankaku/Zenkaku 0xf3")},    // "\94¼\8ap/\91S\8ap"\r
-       {0xf4,                  _T("Hankaku/Zenkaku 0xf4")},    // "\94¼\8ap/\91S\8ap"\r
-       {0xf5,                  _T("OEM specific")},\r
-       {VK_ATTN,               _T("Attn")},\r
-       {VK_CRSEL,              _T("CrSel")},\r
-       {VK_EXSEL,              _T("ExSel")},\r
-       {VK_EREOF,              _T("Erace EOF")},\r
-       {VK_PLAY,               _T("Play")},\r
-       {VK_ZOOM,               _T("Zoom")},\r
-       {VK_NONAME,             _T("Noname")},\r
-       {VK_PA1,                _T("PA1")},\r
-       {VK_OEM_CLEAR,  _T("OEM Clear")},\r
-       {0xff,                  _T("")},\r
-};\r
-\r
-typedef struct Translate {\r
-       WORD wLanguage;\r
-       WORD wCodePage;\r
-} Translate_t;\r
-\r
 //{{AFX_INSERT_LOCATION}}\r
 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.\r
 \r