// EnableDisable.cpp : Defines the entry point for the sample EnableDisable 
// touch application.
//
// Copyright(c) 2004  Elo TouchSystems,
Inc., all rights reserved.
//
// Sample application to Enable/Disable touch using Elo SDK.
// Include EloPubIf.lib
in the linker dependencies.
// Files EloPubIf.lib, EloInterface.h, EloErrorCodes.h
can be found in 
// \Program Files\EloTouchSystems
folder.
// This program can be compiled
using Microsoft Visual Studio 7.0 or 6.0
//
// Usage: EnableDisableSample -[e/d] -n:<mon num>[,<mon num>...]
//                                  -e                                                         :
Enable touch
//                                  -d                                                         :
Disable Touch
//                                  -n:<mon num>[,<mon num>...]             :
Monitors to enable or disable
//
-----------------------------------------------------------------------------
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include "EloInterface.h"
#include "EloErrorCodes.h"
//
-----------------------------------------------------------------------------
// Globals
//
-----------------------------------------------------------------------------
BOOL bEnable = TRUE;
int dwMonParamCnt=0;
DWORD dwMonParam[MAX_SUPPORTED_SCR] ;
void ProcessCmdLine(
int argc, char** argv) ;
// -----------------------------------------------------------------------------
// main entry point
int _tmain(int argc,
char** argv)
{
            DWORD dwEnumMon[MAX_SUPPORTED_SCR]
;
            int iScrCnt,
iRet ;
            if( argc < 3 ) 
            {
                        printf(
"Usage: EloEnableDisableSample -[e/d] \
                                                -[n:<mon num>,[,<mon num>...]]\n\n \
                                                -e
\t\t\t\t: Enable touch\n \
                                                -d
\t\t\t\t: Disable Touch\n \
                                                -n:<mon num>[,<mon num>...] \
                                                \t:
Monitors to enable or disable \n" ) ;
                        return EloFailure ;
            }
            ZeroMemory(
dwEnumMon, MAX_SUPPORTED_SCR ) ;
            ZeroMemory(
dwMonParam, MAX_SUPPORTED_SCR ) ;
            // Get the
list of all Elo Serial & USB screen and monitor association
            iRet = EloGetScreenInfo(dwEnumMon,iScrCnt) ;
            if(iRet != EloSuccess
) 
            {
                        printf(
"Error Code = %d \n", iRet ) ;
                        return EloFailure;
            }
            else
            if(iScrCnt<0)
            {
                        printf(
"No Elo touchscreens found\n" ) ;
                        return EloFailure;
            }
            
            // Process Commandline
            ProcessCmdLine(
argc, argv ) ;
            // For all screens of matching monitor number enable / disable
touch
            for( int i=0;
i<dwMonParamCnt; i++ )
            {
                        //
where j is the screen number associated with the monitor number
                        for( int j=0; j<iScrCnt; j++ )                             
                        {
                                    if( dwMonParam[i]
== dwEnumMon[j] )
                                    {
                                                //
Enables / Disables touch depending on the bFlag
                                                //
where j is the screen number
                                                if( (iRet = EloSetTouchReportingState(
bEnable , j )) == EloSuccess
)
                                                            printf(
"EloSetTouchReportingState Returned
success\n" );
                                                else
                                                            printf(
"EloSetTouchReportingState Returned failed.
Error \ Code=%d\n", iRet );
                                    }
                        }
            }
    return
EloSuccess;
}
// -----------------------------------------------------------------------------
// Processes command line options
void ProcessCmdLine(
int argc, char** argv)
{
            char *lpArg, *lpArg2 ;
            char argstr[256]="";
            LPTSTR lpCmdLine = argstr ;
            strcpy( argstr,"" ) ;
            for( int i=0;
i<argc ; i++ )
            {
                        strcat( argstr," " ) ;
                        strcat( argstr, argv[i]
) ;
            }
            lpArg = strstr(lpCmdLine,"-") ;
            while (lpArg != NULL)
            {
                        switch (lpArg[1])
                        {
                                    case 'e':
                                                //
Enables / Disables touch depending on the Flag 
                                                //
TRUE to enable , FALSE to disable
                                                bEnable = TRUE;
                                                break;
                                    case 'd':
                                                //
Enables / Disables touch depending on the Flag 
                                                //
TRUE to enable , FALSE to disable
                                                bEnable = FALSE;
                                                break;
                                    case 'n':
                                                //
monitor number
                                                if (lpArg[2] == ':')
                                                            lpArg++ ;
                                                lpArg2
= strstr(lpArg+1,"-")
;
                                                if (lpArg2 != NULL)
                                                            lpArg2-- ;
                                                dwMonParam[dwMonParamCnt] = atoi(lpArg+2) ;
                                                if (dwMonParam[dwMonParamCnt]
> 0)
                                                            dwMonParamCnt++ ;
                                                lpArg = strstr(lpArg+1,",")
;
                                                while(lpArg != 0)
                                                {
                                                            if(lpArg2 && (lpArg >=
lpArg2)) break ;
                                                            dwMonParam[dwMonParamCnt] = atoi(lpArg+1) ;
                                                            if (dwMonParam[dwMonParamCnt]
> 0)
                                                                        dwMonParamCnt++ ;
                                                            lpArg = strstr(lpArg+1,",")
;
                                                }
                                                lpArg = lpArg2 ;
                                                break ;
                        default:
                                    printf(
"Usage: EloEnableDisableSample -[e/d] \
                                                -[n:<mon num>,[,<mon num>...]]\n\n \
                                                -e
\t\t\t\t: Enable touch\n \
                                                -d
\t\t\t\t: Disable Touch\n \
                                                -n:<mon num>[,<mon num>...] \
                                                \t:
Monitors to enable or disable \n" ) ;
                                    exit(0);
                                    break ;
                        }
                        if (lpArg != 0)
                                    lpArg = strstr(lpArg+1,"-")
;
            }
}
// -------------------------------------------EOF-------------------------------
| Home Page | Top of page |