Launching the Touchscreen Control Panel

29

IoctlResult = DeviceIoControl(

hndFile,

// Handle to device

IoctlCode,

// IO Control code

 

NULL,

// We don't need input

data

0,

// No input buffer required, 0 bytes

&IOBuffer,

// Buffer from driver.

 

 

// This buffer will contain Z data

DataLength,

// Length of buffer in

bytes.

&ReturnedLength,

// Bytes placed in DataBuffer.

NULL

// NULL means wait I/O

completes.

);

if (!IoctlResult)

// We had a real mouse event.

;

//

The DeviceIoControl call will

 

//

return 0 if a mouse(not touch)

 

// event occurred.

LAUNCHING THE TOUCHSCREEN CONTROL PANEL

It is possible to launch the Touchscreen Control Panel directly from a Windows NT application using the following code:

handle = WinExec("control monmouse.cpl", SW_SHOWNORMAL);

CALIBRATING FROM WITHIN YOUR PROGRAM

You may also call the calibration procedure of the Touchscreen Control Panel directly from your program with the exported function Calibrate-Screen(). It takes two arguments-your window handle and a timeout value in seconds (0 = no timeout).

The following code fragment demonstrates how to call this function. For a complete example, see the included source code, CALIB.C.

WORD

Timeout;

 

 

HWND

hWnd;

//

window handle

FARPROC lpfnCalibrateScreen;

//

pointer to Calibrate function

HANDLE hLibrary;

 

// MONMOUSE.CPL library handle

//Load the Control Panel applet hLibrary = LoadLibrary("MONMOUSE.CPL"); if (hLibrary < (HANDLE)32) {

MessageBox(NULL, "Could not load Calibration Library.",

"NoLoad", MB_OK);

break;

}

// Get address of CalibrateScreen function

lpfnCalibrateScreen = GetProcAddress(hLibrary, MAKEINTRESOURCE(4));

//timeout in 5 minutes

Timeout = 300;

//Call CalibrateScreen function

(*lpfnCalibrateScreen)(hWnd, Timeout); FreeLibrary(hLibrary);

Page 34
Image 34
Elo TouchSystems MonitorMouse FOR WINDOWS NT Version 2.0 manual Launching the Touchscreen Control Panel