1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| # driver.h #
#include "CSharedStruct.h"
#include <stdio.h>
#include <vector>
#define MTOUCH_IPC_GUID "Global\\RNDPLUS_MTSharedData_10A0_A10AF_3124_0120"
#define MTOUCH_EVENT_GUID "Global\\RNDPLUS_MTOUCHPOINT_IPC_INTERFACE_0401"
#define MTOUCH_TOUCH_UP
#define MTOUCH_TOUCH_DOWN
#define MTOUCH_TOUCH_MOVE
#define INACTIVE_COORDINATE 0x0000
#define ACTIVE_COORDINATE 0x0001
#define IMAGE_COORDINATE 0x0002
typedef struct _MPoint
{
WORD wStatus;
WORD wIndex;
WORD wXlength;
WORD wYlength;
.....
} MPointElement;
#define MAX_MPOINTELEMENT_COUNT 100
typedef struct _Shared
{
DWORD dwState;
DWORD dwNumber;
DWORD dwNumberX;
DWORD dwNumberY;
MPointElement mPpoints [MAX_MPOINTELEMENT_COUNT][MAX_MPOINTELEMENT_COUNT];
} SharedData;
DWORD ThreadProc(void);
# driver.c #
DWORD ThreadProc(void)
{
HANDLE hTouch = INVALID_HANDLE_VALUE;
while(hTouch == INVALID_HANDLE_VALUE)
{
hTouch = OpenEvent(EVENT_ALL_ACCESS, false, MTOUCH_EVENT_GUID);
}
....
} |
Partager