📄 client.h
字号:
//=============================================================================
// Compuware Corporation NuMega Lab 9 Townsend West Nashua, NH 03060 USA
// Copyright (c) 1998 Compuware Corporation. All Rights Reserved.
// Unpublished - rights reserved under the Copyright laws of the United States.
//=============================================================================
// CLIENT.H - include file for COMM Client example
// Copyright (c) 1996 Compuware Corporation
#ifndef __CLIENT_H
#define __CLIENT_H
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
// These definitions are used both by the app and the VxD
//API函数接口定义
#define IOCTL_ETTOUCH_GET_BUTTON_MODE CTL_CODE(FILE_DEVICE_MOUSE,0x900,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_CALINFO CTL_CODE(FILE_DEVICE_MOUSE,0x902,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_RESET_CALINFO CTL_CODE(FILE_DEVICE_MOUSE,0x904,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUC_GET_TOUCHINFO CTL_CODE(FILE_DEVICE_MOUSE,0x908,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_EXTRAINFO CTL_CODE(FILE_DEVICE_MOUSE,0x910,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_INFO CTL_CODE(FILE_DEVICE_MOUSE,0x920,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_MOUSE_MODE CTL_CODE(FILE_DEVICE_MOUSE,0x940,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_UPDATE_CAL CTL_CODE(FILE_DEVICE_MOUSE,0x980,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_EN_TOUCHSCREEN CTL_CODE(FILE_DEVICE_MOUSE,0x982,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_DIS_TOUCHSCREEN CTL_CODE(FILE_DEVICE_MOUSE,0x984,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_UPDATE_SETTING CTL_CODE(FILE_DEVICE_MOUSE,0x988,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_BUTTON_MODE CTL_CODE(FILE_DEVICE_MOUSE,0x98C,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_BEEP CTL_CODE(FILE_DEVICE_MOUSE,0x990,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_GET_BEEP CTL_CODE(FILE_DEVICE_MOUSE,0x991,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_MOUSE_MODE CTL_CODE(FILE_DEVICE_MOUSE,0x992,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_MAKE_SOUND CTL_CODE(FILE_DEVICE_MOUSE,0x993,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_ENCRYPTION CTL_CODE(FILE_DEVICE_MOUSE,0x998,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ETTOUCH_SET_DIAGNOSE CTL_CODE(FILE_DEVICE_MOUSE,0x99f,METHOD_BUFFERED,FILE_ANY_ACCESS)
typedef struct { //触摸数据结构
BYTE ch[7]; //
}info;
//Touchscreen button mode
#define LEFTBUTTONMODE 0 //左键模式
#define RIGHTBUTTONMODE 1 //右键模式
//Touchscreen calibration Info
typedef struct {
DWORD Cal_State; //校准状态
DWORD TouchX; //原始触摸X坐标
DWORD TouchY; //原始触摸Y坐标
}_CALIBRATE_DATA ;
#define CALIBRATE_READY 5735
#define CALIBRATE_NOTREADY 4139
//TouchSreen calibration information
typedef struct {
DWORD nBorderLeft; //X轴的最小值
DWORD nBorderTop; //Y轴的最小值
DWORD nBorderRight; //X轴的最大值
DWORD nBorderBottom; //Y轴的最大值
DWORD nXOffset; //X轴的偏移值
DWORD nYOffset; //Y轴的偏移值
DWORD xprop; // 比例
DWORD yprop; // 比例
}_CALIBRATION_DATA ;
//Touchscreen touch coordimate and touch status srructure
typedef struct {
DWORD ButtonState; //模拟的键状态
DWORD lastX; //X触摸坐标
DWORD lastY; // Y触摸坐标
}_TOUCH_INFO ;
#define TOUCHPRESS 0x81 //按下
#define TOUCHMOVE 0x82 //移动
#define TOUCHRELEASE 0x84 //离开
#define BUTTONSTATE 2342
#define LBUTTONDOWN BUTTONSTATE + 2 //左键按下
#define LBUTTONDRAW BUTTONSTATE + 3 //左键拖动
#define LBUTTONUP BUTTONSTATE + 4 //左键离开
#define RBUTTONDOWN BUTTONSTATE + 5 //右键按下
#define RBUTTONDRAW BUTTONSTATE + 6 //右键拖动
#define RBUTTONUP BUTTONSTATE + 7 //右键离开
#define MBUTTONDOWN BUTTONSTATE + 8 //中键按下
#define MBUTTONDRAW BUTTONSTATE + 9 //中键拖动
#define MBUTTONUP BUTTONSTATE + 10 //中键离开
#define BUTTONSWITCH BUTTONSTATE + 11 //按键模式切换
//Touchscreen product information
typedef struct {
DWORD Version; //version number
DWORD comtrollertype; //controller type number
DWORD ltouchscreentype;// touchscreen type number
DWORD Initstatus; // initialization status
DWORD Zsuppout; //Z axis coordinate support
DWORD Xmin; // screen extents,default =0
DWORD XRANGE; //default=65535
DWORD Ymin; // default=0
DWORD YRANGE ; // default=65535
DWORD Reserved1; //Reserved,must be zero
DWORD Reserved2; // Reserved,must be zero
}_PRODUCT_INFO ;
//Touchscreen mouse emulation mode
#define Mode_1 0 //Click on Touch
#define Mode_2 1 //Click on Release
#define Mode_5 2 //Drag
#define Mode_6 3 //Double Click,Drag
#define CLICK_ON_TOUCH Mode_1
#define CLICK_ON_RELEASE Mode_2
#define DRAG Mode_5
#define DOUBLE_CLICK_DRAG Mode_6
//Touchscreen beep information
typedef struct {
DWORD BeepMode; // 响声模式,见下面的常数定义。
DWORD BeepFreq; //响声频率,见下面的频率范围。
DWORD BeepTime; // 响声时长,见下面的时长范围。
}_BEEP_INFO;
//Touchscreen beep information
typedef struct {
DWORD BeepFreq1; // 响声频率(Press),见下面的频率范围。
DWORD BeepTime1; // 响声时长(press),见下面的时长范围。
DWORD BeepFreq2; // 响声频率(release),见下面的频率范围。
DWORD BeepTime2; // 响声时长(Release),见下面的时长范围。
}_ETT_BEEP_INFO;
//触摸响声模式常数
#define NOBEEP 0 //不响声
#define BEEPONTOUCH NOBEEP+1 //用户刚触摸离开时响声
#define BEEPONRELEASE NOBEEP+2 //用户触摸离开时响声
#define BEEP_FREQ_MIN 1000 //响声最低频率
#define DEFAULT_BEEP_FREQ 2000 //默认的响声频率
#define BEEP_FREQ_MAX 5000 //响声的最高频率
#define BEEP_TIME_MIN 32 //响声最低时长
#define DEFAULT_BEEP_TIME 32 //默认的响声时长
#define BEEP_TIME_MAX 750 //响声的最大时长
//controller encryption infomation
typedef struct {
UCHAR OperationIndex;
UCHAR Opnd1;
UCHAR Opnd2;
UCHAR Opnd3;
UCHAR Opnd4;
UCHAR Opnd5;
UCHAR Opnd6;
UCHAR Flag;
UCHAR Result;
}_ENCRYPTION_INFO;
//set controller diagnostics parameters and get diagnostics results
typedef struct {
DWORD DiagItem;
DWORD DiagFlag;
DWORD DiagResult;
}_DIAGNOSTICS_INFO;
#endif //__CLIENT_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -