How do I using WH_CALLWNDPROC and PT_TOUCH to get the global touch event
-
Dear all: I try to use WH_CALLWNDPROC and PT_TOUCH in dll to get the global touch event. But I get some problems. My code lists as below:
#pragma data_seg (".SHARED")
HHOOK g_hPreviousMouseHook = 0;
HINSTANCE g_hInstance = 0;
#pragma data_seg()
#pragma comment(linker, "/SECTION:.SHARED,RWS")BOOL CSoundDllApp::InitInstance()
{
CWinApp::InitInstance();
g_hInstance = AfxGetInstanceHandle();
return TRUE;
}BOOL InstallWinHook()
{
BOOL bReturn = TRUE;
g_hPreviousMouseHook = SetWindowsHookEx(WH_CALLWNDPROC,
&WinHookProcedure, g_hInstance, 0);if(NULL == g\_hPreviousMouseHook) { bReturn = FALSE; } return bReturn;
}
BOOL UnInstallWinHook()
{
BOOL bReturn = TRUE;
if(UnhookWindowsHookEx(g_hPreviousMouseHook) == FALSE)
{
bReturn = FALSE;
}
return bReturn;
}LRESULT CALLBACK WinHookProcedure(int nCode, WPARAM wParam, LPARAM lParam)
{
if(0 > nCode)
return CallNextHookEx(g_hPreviousMouseHook, nCode,
wParam, lParam);
UINT32 pointerId = GET_POINTERID_WPARAM(wParam);
POINTER_INPUT_TYPE pointerType;if(GetPointerType(pointerId, &pointerType)) { //if (pointerType == PT\_TOUCH) //{ //} } return CallNextHookEx(g\_hPreviousMouseHook, nCode, wParam, lParam);
}
When I disable the GetPointerType(pointerId, &pointerType) in WinHookProcedure, it will load the dll success. When I enable the GetPointerType(pointerId, &pointerType) in WinHookProcedure, it will load the dll failed. what happened? Could someone tell me please? Thanks for your help, Victor