Windows Mobile 触摸屏(Touch Panel)截获(pwinuser.h)

来源:互联网 发布:手机淘宝会员名是什么 编辑:程序博客网 时间:2024/05/19 21:40

看看微软pwinuser.h的头文件吧,里面有hook的API.

#ifndef _PRIV_WINUSER_
#define _PRIV_WINUSER_

#ifdef __cplusplus
extern "C"  {
#endif

#include <keybd.h>

// Non-Standard CE internal messages.
#define WM_QM_ACTIVATE        0x60
#define WM_HOOK_DO_CALLBACK    0x61
#define WM_SYSCOPYDATA        0x62


// wparam values for WM_SYSCOPYDATA
#define WMSCD_CHAR_RANKED_ALTS    0x01
#define WMSCD_DIALOGSCROLLBAR    0x02 

 

/*
 * Extended Window Styles
 */
#if(WINVER >= 0x0400)

#endif /* WINVER >= 0x0400 */

// Marker for end of accelerator tables.
#define FLASTKEY  0x80

// SetWindowPos internal flags
#define SWP_SYSTEMCAPTURE            0x80000000
#define SWP_FINDNEWFOREGROUND        0x40000000
#define SWP_MAXMIN                    0x20000000


// Internal values for hwnd for use in broadcasting messages
// Must be odd numbered.
#define HWND_TOPLEVELVISIBLEORPRE30        ((HWND)0xfffd)    // top level windows that are visible on screen or ver < 3.0
#define HWND_TOPLEVELCHILD                ((HWND)0xfffb)    // top level windows with the WS_CHILD bit set

/*
 * Predefined Clipboard Formats
 */
#define CF_METAFILEPICT     3
#define CF_ENHMETAFILE      14
#define CF_HDROP            15
#define IMAGE_ENHMETAFILE   3

void WINAPI SystemIdleTimerReset( void );

HWND WINAPI SetKeyboardTarget( HWND hWnd );
HWND WINAPI GetKeyboardTarget( VOID );
KEY_STATE_FLAGS WINAPI GetAsyncShiftFlags(UINT VKey);
WINUSERAPI void WINAPI AccessibilitySoundSentryEvent(void);
BOOL WINAPI ImmEnableIME(DWORD);
HKL WINAPI ImmGetKeyboardLayout(DWORD dwThreadId);

/*
 * ImmAssociateValueWithGwesMessageQueue flags
 *
 * These is not hard & fast rule for the #s given below - just
 * that they are ordered in pairs of get/set operations
 */
#define IMM_GETTHREADHKL                        1
#define IMM_SETTHREADHKL                        2
#define IMM_GETTHREADPREVHKL                    3
#define IMM_SETTHREADPREVHKL                    4

#define IMM_SETPROCESSHKL                        6

#define IMM_SET_THREAD_IME_DEFAULT_HWND              8
#define IMM_GET_LAYMGR_STATUS                                    9

 

void AudioUpdateFromRegistry(void);

/* Values for NotifyWinUserSystem */
#define NWUS_DOUBLE_TAP_CHANGED    1
#define NWUS_KEYBD_REPEAT_CHANGED 2
#define NWUS_MAX_IDLE_TIME_CHANGED 3

#define SPI_SETNOSEHFORVALIDATION    250

#define MOD_KEYUP_ALWAYS 0x2000

typedef struct tagPLATFORMVERSION {
    DWORD dwMajor;
    DWORD dwMinor;
} PLATFORMVERSION, *PPLATFORMVERSION;


#define SPI_PROJECT1    224
#define SPI_PROJECT2    225
#define SPI_PROJECT3    226
#define SPI_PROJECT4    227
#define SPI_PROJECT5    228
#define SPI_PROJECT6    229
#define SPI_PROJECT7    230
#define SPI_PROJECT8    231
#define SPI_PROJECT9    232
#define SPI_PROJECT10    233
#define SPI_PROJECT11    234
#define SPI_PROJECT12    235
#define SPI_PROJECT13    236
#define SPI_PROJECT14    237
#define SPI_PROJECT15    238
#define SPI_PROJECT16    239

#define SPI_GETPLATFORMVERSION        SPI_PROJECT1   

#define VK_APP_LAUNCH1    0xC1
#define VK_APP_LAUNCH2    0xC2
#define VK_APP_LAUNCH3    0xC3
#define VK_APP_LAUNCH4    0xC4
#define VK_APP_LAUNCH5    0xC5
#define VK_APP_LAUNCH6    0xC6
#define VK_APP_LAUNCH7    0xC7
#define VK_APP_LAUNCH8    0xC8
#define VK_APP_LAUNCH9    0xC9
#define VK_APP_LAUNCH10    0xCA
#define VK_APP_LAUNCH11    0xCB
#define VK_APP_LAUNCH12    0xCC
#define VK_APP_LAUNCH13    0xCD
#define VK_APP_LAUNCH14    0xCE
#define VK_APP_LAUNCH15    0xCF

 


void WINAPI NotifyWinUserSystem( UINT    uEvent );

BOOL WINAPI RegisterTaskBar (HWND hwndTaskbar);
BOOL WINAPI RegisterTaskBarEx (HWND hwndTaskbar, BOOL bTaskBarOnTop);
BOOL WINAPI RegisterDesktop (HWND hwndDesktop);

WINUSERAPI BOOL WINAPI RectangleAnimation ( HWND hWnd, LPCRECT prc, BOOL fMaximize ) ;
void WINAPI ShellModalEnd( void );

//#define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF)
//WINUSERAPI BOOL WINAPI ExitWindowsEx( UINT uFlags,DWORD dwReserved);
void GwesPowerOffSystem (void);
BOOL GwesPowerDown (void);
void GwesPowerUp (BOOL);

void WINAPI BatteryGetLifeTimeInfo ( LPSYSTEMTIME pstLastChange, DWORD * pcmsCpuUsage, DWORD * pcmsPreviousCpuUsage );
LONG WINAPI BatteryDrvrGetLevels ( void );
BOOL WINAPI BatteryDrvrSupportsChangeNotification ( void );
void WINAPI BatteryNotifyOfTimeChange ( BOOL fForward, FILETIME * pftDelta );

// A system class built in to GWE for use by everyone
#define CS_SYSTEMCLASS 0x80000000

/* flags for DrawFrameControl */
//#define DFC_CAPTION             1
#define DFC_MENU                2
//#define DFC_SCROLL              3
//#define DFC_BUTTON              4
#define DFC_SPINNER             6

//#define DFCS_CAPTIONCLOSE       0x0000
//#define DFCS_CAPTIONMIN         0x0001
//#define DFCS_CAPTIONMAX         0x0002
//#define DFCS_CAPTIONRESTORE     0x0003
//#define DFCS_CAPTIONHELP        0x0004
//#define DFCS_CAPTIONOKBTN      0x0080
#define DFCS_CAPTIONROUNDOKBTN_WINCE    0x0010
#define DFCS_CAPTIONROUNDCLOSE_WINCE    0x0020
#define DFCS_CAPTIONALL_WINCE           0x00F0

#define DFCS_MENUARROW          0x0000
#define DFCS_MENUCHECK          0x0001
#define DFCS_MENUBULLET         0x0002
#define DFCS_MENUARROWRIGHT     0x0004

//#define DFCS_SCROLLUP           0x0000
//#define DFCS_SCROLLDOWN         0x0001
//#define DFCS_SCROLLLEFT         0x0002
//#define DFCS_SCROLLRIGHT        0x0003
//#define DFCS_SCROLLCOMBOBOX     0x0005
#define DFCS_SCROLLSIZEGRIP     0x0008
#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010

//#define DFCS_BUTTONCHECK        0x0000
#define DFCS_BUTTONRADIOIMAGE   0x0001
#define DFCS_BUTTONRADIOMASK    0x0002
//#define DFCS_BUTTONRADIO        0x0004
//#define DFCS_BUTTON3STATE       0x0008
//#define DFCS_BUTTONPUSH         0x0010

#define DFCS_SPINNERUP           0x0000
#define DFCS_SPINNERDOWN         0x0001
#define DFCS_SPINNERLEFT         0x0002
#define DFCS_SPINNERRIGHT        0x0003
#define DFCS_SPINNERBUTTON       0x0010
#define DFCS_SPINNERNOBORDER     0x0020

//#define DFCS_INACTIVE           0x0100
//#define DFCS_PUSHED             0x0200
//#define DFCS_CHECKED            0x0400
#define DFCS_ADJUSTRECT         0x2000
#define DFCS_FLAT               0x4000
#define DFCS_MONO               0x8000

#define MFT_NONOWNERSTRING      0x80000000L

//WINUSERAPI BOOL    WINAPI DrawFrameControl(HDC, LPRECT, UINT, UINT);

// NC messages
#define WM_NCCREATE                     0x0081
#define WM_NCDESTROY                    0x0082
#define WM_NCCALCSIZE                   0x0083
#define WM_NCHITTEST                    0x0084
#define WM_NCPAINT                      0x0085
#define WM_NCACTIVATE                   0x0086

#define WM_NCMOUSEFIRST                 0x00A0
#define WM_NCMOUSEMOVE                  0x00A0
#define WM_NCLBUTTONDOWN                0x00A1
#define WM_NCLBUTTONUP                  0x00A2
#define WM_NCLBUTTONDBLCLK              0x00A3
#define WM_NCRBUTTONDOWN                0x00A4
#define WM_NCRBUTTONUP                  0x00A5
#define WM_NCRBUTTONDBLCLK              0x00A6
#define WM_NCMBUTTONDOWN                0x00A7
#define WM_NCMBUTTONUP                  0x00A8
#define WM_NCMBUTTONDBLCLK              0x00A9


#define WM_NCXBUTTONDOWN                0x00AB
#define WM_NCXBUTTONUP                  0x00AC
#define WM_NCXBUTTONDBLCLK              0x00AD
#define WM_NCMOUSELAST                  0x00AD

#ifdef FAREAST
/* Class style for IME UI window */
#define CS_IME      0x00010000
#endif // FAREAST

#ifdef _WIN32_WCE_EMULATION
#ifdef CS_IME
#undef CS_IME
#endif
#define CS_IME      0x00010000
#endif

/* For internal APIs "exposed" to other internal pieces. */
#ifdef __cplusplus
    #define EXTERN_C    extern "C"
#else
    #define EXTERN_C    extern
#endif /*__cplusplus*/
#define INTAPI  EXTERN_C LONG __stdcall
#define INTAPI_(type) EXTERN_C type __stdcall

BOOL KeybdGetDeviceInfo( INT iIndex, LPVOID  lpOutput );
BOOL KeybdInitStates( KEY_STATE KeyState, void  *pKeybdDriverState );

UINT32 KeybdVKeyToUnicode(
    UINT32          VKey,
    KEY_STATE_FLAGS KeyEventFlags,
    KEY_STATE       KeyState,
    void            *KeybdDriverState,
    UINT32          cBufferSize,
    UINT32          *pcCharacters,
    KEY_STATE_FLAGS *pShiftStateBuffer,
    UINT32          *pCharacterBuffer
    );


// Maximum # of slots available in preload reg key.
#define MAX_HKL_PRELOAD_COUNT 15


#define WH_JOURNALRECORD    0
#define WH_JOURNALPLAYBACK  1
#define WH_KEYBOARD_LL      20


/*
 * Hook Codes
 */
#define HC_ACTION           0
#define HC_GETNEXT          1
#define HC_SKIP             2
#define HC_NOREMOVE         3
#define HC_NOREM            HC_NOREMOVE
#define HC_SYSMODALON       4
#define HC_SYSMODALOFF      5

typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);

/*
 * Message Structure used in Journaling
 */
typedef struct tagEVENTMSG {
    UINT    message;
    UINT    paramL;
    UINT    paramH;
    DWORD    time;
    HWND    hwnd;
} EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG;

typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG;


HHOOK
WINAPI
QASetWindowsJournalHook(
    int         nFilterType,
    HOOKPROC    pfnFilterProc,
    EVENTMSG    *pfnEventMsg
    );


BOOL
WINAPI
QAUnhookWindowsJournalHook(
    int            nFilterType
    );


BOOL
WINAPI
GetMessageWNoWait(
    PMSG    pMsg,
    HWND    hWnd,
    UINT    wMsgFilterMin,
    UINT    wMsgFilterMax
    );

BOOL
WINAPI
TouchCalibrate(
    void
    );

int
WINAPI
DisableCaretSystemWide(
    void
    );


int
WINAPI
EnableCaretSystemWide(
    void
    );


BOOL
WINAPI
EnableHardwareKeyboard(
    BOOL fEnable
    );

BOOL RegisterSIPanel (HWND hwndSIPanel);


void WINAPI SetAssociatedMenu (
    HWND hwnd,
    HMENU hmenu
    );

HMENU WINAPI GetAssociatedMenu (
    HWND hwnd
    );


BOOL
WINAPI
UnregisterFunc1(
    UINT    fsModifiers,
    UINT    vk
    );

 

 

 

typedef struct tagKBDLLHOOKSTRUCT {
    DWORD vkCode;        // virtual key code
    DWORD scanCode;        // scan code    DWORD flags;       // flags
    DWORD flags;        // unused
    DWORD time;            // time stamp for this message
    DWORD dwExtraInfo;    // extra info from the driver or keybd_event
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;

HHOOK
WINAPI
SetWindowsHookExW(
    int idHook,
    HOOKPROC lpfn,
    HINSTANCE hmod,
    DWORD dwThreadId);
#define SetWindowsHookEx  SetWindowsHookExW


BOOL
WINAPI
UnhookWindowsHookEx(
    HHOOK hhk);

LRESULT
WINAPI
CallNextHookEx(
    HHOOK hhk,
    int nCode,
    WPARAM wParam,
    LPARAM lParam);

typedef struct tagGetForegroundInfo
    {
    HWND    hwndActive;
    HWND    hwndFocus;
    HWND    hwndMenu;
    HWND    hwndKeyboardDest;
    DWORD    fdwConversion;
    DWORD    fdwSentence;
    BOOL    fOpen;
    DWORD    dwCompStrLen;
    HKL        KeyboardLayoutHandle;
    } GET_FOREGROUND_INFO;

BOOL
WINAPI
GetForegroundInfo(
    GET_FOREGROUND_INFO    *pgfi
    );

HWND GetForegroundKeyboardTarget(
    void
    );

HKL
GetForegroundKeyboardLayoutHandle(
    void
    );


BOOL
WINAPI
ImmGetConversionStatusForeground(
    DWORD    *pfdwConversion,
    DWORD    *pfdwSentence
    );

BOOL
ShowStartupWindow(
    void
    );

//    This is taken directly from pbt.h.  Not all values are used or supported.

#ifndef WM_POWERBROADCAST
#define WM_POWERBROADCAST               0x218
#endif

#define PBT_APMQUERYSUSPEND             0x0000
#define PBT_APMQUERYSTANDBY             0x0001

#define PBT_APMQUERYSUSPENDFAILED       0x0002
#define PBT_APMQUERYSTANDBYFAILED       0x0003

#define PBT_APMSUSPEND                  0x0004
#define PBT_APMSTANDBY                  0x0005

#define PBT_APMRESUMECRITICAL           0x0006
#define PBT_APMRESUMESUSPEND            0x0007
#define PBT_APMRESUMESTANDBY            0x0008

#define PBTF_APMRESUMEFROMFAILURE       0x00000001

#define PBT_APMBATTERYLOW               0x0009
#define PBT_APMPOWERSTATUSCHANGE        0x000A

#define PBT_APMOEMEVENT                 0x000B

#define PBT_APMUSERIDLE                 0x000C
#define PBT_APMUSERACTIVE               0x000D


// @CESYSGEN IF GWES_WINMGR

// Notifications sent by GWES to the shell

// Codes used in WM_SHELLNOTIFY
#define SHELLNOTIFY_WINDOWCREATED        0x0006
#define SHELLNOTIFY_WINDOWDESTROYED      0x0007
#define SHELLNOTIFY_WINDOWACTIVATED      0x0008
#define SHELLNOTIFY_REDRAW               0x0009
#define SHELLNOTIFY_LANGUAGE             0x000A
#define SHELLNOTIFY_CAPSLOCK             0x000B
#define SHELLNOTIFY_RESERVED0x000C       0x000C
#define SHELLNOTIFY_RESERVED0x000D       0x000D

// @CESYSGEN ENDIF

#ifdef __cplusplus
}
#endif /*__cplusplus*/

#endif /* _PRIV_WINUSER_ */

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 数学一直学不好怎么办 小孩数学成绩差怎么办 理科生语文不好怎么办 小学阅读题不好怎么办 如果孩子考不好怎么办 6岁不认识数字怎么办 数学一点都不会怎么办 初一数学太差怎么办 三年级孩子数学差怎么办 三年级孩子数学很差怎么办 初中学习不好高中怎么办 四年级孩子数学不好怎么办 孩子学习不开窍怎么办 孩子学习太笨怎么办 老师是个小人怎么办 孩子写字太差怎么办 孩子写字下手重怎么办 孩子一年级数学不好怎么办 孩子数学理解能力差怎么办 智商情商都低怎么办 一年级孩子数学很差怎么办 一年级孩子数学差怎么办 一年级数学学不好怎么办 孩子成绩差该怎么办 小学生数学太差怎么办 小学数学基础差怎么办 孩子一年级学习不好怎么办 快两岁的宝宝老尿裤怎么办 戒母乳宝宝哭闹怎么办 三周岁不肯说话怎么办 两岁宝宝打人怎么办 刚开始跳绳腿疼怎么办 两周岁宝宝拉肚子怎么办 宝宝睡觉认人怎么办 宝宝脸不光滑怎么办 两周岁宝宝打人怎么办 分手后想念前任怎么办 孩子不学习该怎么办 小孩吃了牙膏怎么办 小孩子吃了牙膏怎么办 一岁宝宝龋齿怎么办