⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 engine.h

📁 rtCell 实时微内核-具有下列功能: 1. 完全抢占的实时微内核结构
💻 H
📖 第 1 页 / 共 2 页
字号:
 *                                                                             *
 *******************************************************************************
 */

/* 消息类型 */

#define VMSG_GETFOCUS    (0x0008)
#define VMSG_LOSTFOCUS   (0x0009)

#define MSM_FIRST        (0x0010)

#define MSM_LB_DOWN   (0x0001 + MSM_FIRST)
#define MSM_LB_UP     (0x0002 + MSM_FIRST)
#define MSM_RB_DOWN   (0x0003 + MSM_FIRST)
#define MSM_RB_UP     (0x0004 + MSM_FIRST)
#define MSM_MB_DOWN   (0x0005 + MSM_FIRST)
#define MSM_MB_UP     (0x0006 + MSM_FIRST)
#define MSM_MS_MOVE   (0x0007 + MSM_FIRST)
#define MSM_MS_ENTER  (0x0008 + MSM_FIRST)
#define MSM_MS_LEAVE  (0x0009 + MSM_FIRST)
#define MSM_MB_MOVE   (0x000A + MSM_FIRST)
#define MSM_LB_CLICK  (0x000B + MSM_FIRST)
#define MSM_LB_DCLICK (0x000C + MSM_FIRST)
#define MSM_RB_CLICK  (0x000D + MSM_FIRST)
#define MSM_RB_DCLICK (0x000E + MSM_FIRST)
#define MSM_MB_CLICK  (0x000F + MSM_FIRST)
#define MSM_MB_DCLICK (0x0010 + MSM_FIRST)

#define KEYM_FIRST    (0x0030)
#define KEYM_KEY_DOWN (0x0001 + KEYM_FIRST)
#define KEYM_KEY_UP   (0x0002 + KEYM_FIRST)

#define TIMERM_FIRST  (0x0033)
#define TIMERM_OUT    (0x0001 + TIMERM_FIRST)

#define WINM_FIRST    (0x0040)
#define WINM_SCROLL   (0x0001 + WINM_FIRST)

/*
 *******************************************************************************
 *                                                                             *
 *******************************************************************************
 */

#define SCANCODE_ESCAPE                 1
#define SCANCODE_1                      2#define SCANCODE_2                      3#define SCANCODE_3                      4#define SCANCODE_4                      5#define SCANCODE_5                      6#define SCANCODE_6                      7#define SCANCODE_7                      8#define SCANCODE_8                      9#define SCANCODE_9                      10#define SCANCODE_0                      11#define SCANCODE_MINUS                  12#define SCANCODE_EQUAL                  13#define SCANCODE_BACKSPACE              14#define SCANCODE_TAB                    15#define SCANCODE_Q                      16#define SCANCODE_W                      17#define SCANCODE_E                      18#define SCANCODE_R                      19#define SCANCODE_T                      20#define SCANCODE_Y                      21#define SCANCODE_U                      22#define SCANCODE_I                      23#define SCANCODE_O                      24#define SCANCODE_P                      25#define SCANCODE_BRACKET_LEFT           26#define SCANCODE_BRACKET_RIGHT          27#define SCANCODE_ENTER                  28#define SCANCODE_LEFTCONTROL            29#define SCANCODE_A                      30#define SCANCODE_S                      31#define SCANCODE_D                      32#define SCANCODE_F                      33#define SCANCODE_G                      34#define SCANCODE_H                      35#define SCANCODE_J                      36#define SCANCODE_K                      37#define SCANCODE_L                      38#define SCANCODE_SEMICOLON              39#define SCANCODE_APOSTROPHE             40#define SCANCODE_GRAVE                  41#define SCANCODE_LEFTSHIFT              42#define SCANCODE_BACKSLASH              43#define SCANCODE_Z                      44#define SCANCODE_X                      45#define SCANCODE_C                      46#define SCANCODE_V                      47#define SCANCODE_B                      48#define SCANCODE_N                      49#define SCANCODE_M                      50#define SCANCODE_COMMA                  51#define SCANCODE_PERIOD                 52#define SCANCODE_SLASH                  53#define SCANCODE_RIGHTSHIFT             54#define SCANCODE_KEYPADMULTIPLY         55#define SCANCODE_LEFTALT                56#define SCANCODE_SPACE                  57#define SCANCODE_CAPSLOCK               58#define SCANCODE_F1                     59#define SCANCODE_F2                     60#define SCANCODE_F3                     61#define SCANCODE_F4                     62#define SCANCODE_F5                     63#define SCANCODE_F6                     64#define SCANCODE_F7                     65#define SCANCODE_F8                     66#define SCANCODE_F9                     67#define SCANCODE_F10                    68#define SCANCODE_NUMLOCK                69#define SCANCODE_SCROLLLOCK             70#define SCANCODE_KEYPAD7                71#define SCANCODE_CURSORUPLEFT           71#define SCANCODE_KEYPAD8                72#define SCANCODE_CURSORUP               72#define SCANCODE_KEYPAD9                73#define SCANCODE_CURSORUPRIGHT          73#define SCANCODE_KEYPADMINUS            74#define SCANCODE_KEYPAD4                75#define SCANCODE_CURSORLEFT             75#define SCANCODE_KEYPAD5                76#define SCANCODE_KEYPAD6                77#define SCANCODE_CURSORRIGHT            77#define SCANCODE_KEYPADPLUS             78#define SCANCODE_KEYPAD1                79#define SCANCODE_CURSORDOWNLEFT         79#define SCANCODE_KEYPAD2                80#define SCANCODE_CURSORDOWN             80#define SCANCODE_KEYPAD3                81#define SCANCODE_CURSORDOWNRIGHT        81#define SCANCODE_KEYPAD0                82#define SCANCODE_KEYPADPERIOD           83#define SCANCODE_LESS                   86#define SCANCODE_F11                    87#define SCANCODE_F12                    88#define SCANCODE_KEYPADENTER            96#define SCANCODE_RIGHTCONTROL           97#define SCANCODE_CONTROL                97#define SCANCODE_KEYPADDIVIDE           98#define SCANCODE_PRINTSCREEN            99#define SCANCODE_RIGHTALT               100#define SCANCODE_BREAK                  101#define SCANCODE_BREAK_ALTERNATIVE      119#define SCANCODE_HOME                   102#define SCANCODE_CURSORBLOCKUP          103#define SCANCODE_PAGEUP                 104#define SCANCODE_CURSORBLOCKLEFT        105#define SCANCODE_CURSORBLOCKRIGHT       106#define SCANCODE_END                    107#define SCANCODE_CURSORBLOCKDOWN        108   #define SCANCODE_PAGEDOWN               109#define SCANCODE_INSERT                 110#define SCANCODE_REMOVE                 111#define SCANCODE_PAUSE                  119#define SCANCODE_POWER                  120#define SCANCODE_SLEEP                  121#define SCANCODE_WAKEUP                 122#define SCANCODE_LEFTWIN                125#define SCANCODE_RIGHTWIN               126#define SCANCODE_MENU                   127#define SCANCODE_LEFTBUTTON             0x1000#define SCANCODE_RIGHTBUTTON            0x2000#define SCANCODE_MIDDLBUTTON            0x4000

#define KEY_ESCAPE             0x001B
#define KEY_LEFT               0x4B00
#define KEY_RIGHT              0x4D00
#define KEY_UP                 0x4800
#define KEY_DOWN               0x5000
#define KEY_ENTER              0x000D
#define KEY_BACKSPACE          0x0008
#define KEY_DELETE             0x5300
#define KEY_HOME               0x4700
#define KEY_END                0x4F00
#define KEY_TAB                0x0009
#define KEY_PAGEUP             0x4900
#define KEY_PAGEDOWN           0x5100
#define KEY_PLUS               0x003D
#define KEY_MINUS              0x002D
#define KEY_SPACE              0x0020
#define KEY_CTRLSPACE          0x1020
#define KEY_RESET              0x1021
#define KEY_INSERT             0x5200

#define KEY_F1                 0x3B00
#define KEY_F2                 0x3C00
#define KEY_F3                 0x3D00
#define KEY_F4                 0x3E00
#define KEY_F5                 0x3F00
#define KEY_F6                 0x4000
#define KEY_F7                 0x4100
#define KEY_F8                 0x4200
#define KEY_F9                 0x4300
#define KEY_F10                0x4400

#define KEY_0                  0x0030
#define KEY_1                  0x0031
#define KEY_2                  0x0032
#define KEY_3                  0x0033
#define KEY_4                  0x0034
#define KEY_5                  0x0035
#define KEY_6                  0x0036
#define KEY_7                  0x0037
#define KEY_8                  0x0038
#define KEY_9                  0x0039
/*
 *******************************************************************************
 *                                                                             *
 *******************************************************************************
 */
  
typedef union mouse_info {
    struct {
        BYTE data[4];
    } d;

    struct {
        INT_16 lbtn : 1;
        INT_16 rbtn : 1;
        INT_16 mbtn : 1;
        INT_16 rsv  : 1;
        INT_16 xsn  : 1;
        INT_16 ysn  : 1;
        INT_16 xof  : 1;
        INT_16 yof  : 1;
    
        INT_16 dx   : 8;
        INT_16 dy   : 8;
        INT_16 dw   : 8;
    } inf;

    DWORD raw;
} MOUSE_INF; 

typedef union key_info {
    struct {
        BYTE data[4];
    } d;
    
    struct {
        INT_16 shift : 1;   /* ctrl key  */
        INT_16 ctrl  : 1;
        INT_16 alt   : 1;
        INT_16 caps  : 1;
        INT_16 num   : 1;
        INT_16 press : 1;   /* ctrl key  */

        INT_16 scan  : 8;   /* scan code */
        INT_16 key   : 16;  /* key code  */
    } inf;

    DWORD raw;
} KEY_INF;

typedef union timer_info {
    struct {
        DWORD time; /* in second */
    } inf;

    DWORD raw;
} TIMERS_INF;

typedef void (_cdecl_ * PMSGHOOK)(void);
typedef void (_cdecl_ * PMOUSEHOOK)(const MOUSE_INF mi);
typedef void (_cdecl_ * PKEYBDHOOK)(const KEY_INF ki);
typedef void (_cdecl_ * PTIMERHOOK)(const TIMERS_INF ti);

#define TIMER_PERIOD (50)  /* ms */

/*
 *******************************************************************************
 *                                                                             *
 *******************************************************************************
 */

/* 引擎相关函数 */
void _cdecl_ StartEngine(void); /* 注意启动GUI引擎之前不得调用任何浮点数操作 */
void _cdecl_ SetInitHook(PMSGHOOK hook);       /* 其中不得包含任何浮点数操作 */
void _cdecl_ SetFirstHook(PMSGHOOK hook);      /* 其中不得包含任何浮点数操作 */
void _cdecl_ SetTimerHook(PTIMERHOOK hook);    /* 其中不得包含任何浮点数操作 */
void _cdecl_ SetMouseHook(PMOUSEHOOK hook);    /* 其中不得包含任何浮点数操作 */
void _cdecl_ SetKeybdHook(PKEYBDHOOK hook);    /* 其中不得包含任何浮点数操作 */

/*
 *******************************************************************************
 *                                                                             *
 *******************************************************************************
 */   
#endif /* end of Engine.h */
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -