The LEADTOOLS WIA driver is available in LEADTOOLS version 16 or higher.
This tutorial shows you a quick and easy way to generate a WIA program. For more in-depth WIA programming, refer to the WIA demo.
Take the following steps to create and run a program that implement LEADTOOLS WIA features:
WiaEnumDevTutor. Examples\Scanning\ClassLibrary directory of your LEAD installation. For example, if you installed LEADTOOLS in C:\LEADTOOLS23\, enter C:\LEADTOOLS23\Examples\Scanning\ClassLibrary, then click OK. Then click Next. WiaEnumDevTutor.h. Add the following line immediately before the class CWiaEnumDevTutorApp declaration, (keep in mind, you may have to change the path to where the header files reside):
#include "..\..\..\..\include\ClassLib\ltwrappr.h" Click the Class View tab.
WiaEnumDevTutor classes branch.CWiaEnumDevTutorApp, and then double-click the CWiaEnumDevTutorApp(void) constructor.Add the following lines after //TODO: add construction code here:
LBase::LoadLibraries(LT_ALL_LEADLIB);L_TCHAR * pszLicenseFile = L"Replace this with the path to the LEADTOOLS license file";L_TCHAR * pszDeveloperKey = L"Replace this with your developer key";LSettings::SetLicenseFile(pszLicenseFile, pszDeveloperKey);
Create a new file called Imports.cpp and place it beside your project files.
Imports.cpp.Imports.cpp in the Solution Explorer and add the following lines:
#include "StdAfx.h"#if defined(WIN64)#pragma comment(lib, "..\\..\\..\\..\\Lib\\CDLL\\x64\\Ltwvc_x.lib")#else#pragma comment(lib, "..\\..\\..\\..\\Lib\\CDLL\\Win32\\Ltwvc_u.lib")#endif // #if defined(WIN64)
Click the Solution Explorer tab.
WiaEnumDevTutorDlg.h file to open it.Add the following class declaration before the CWiaEnumDevTutorDlg class.
class LMyWia : public LWia{LEAD_DECLAREOBJECT(LMyWia);public:LMyWia();virtual ~LMyWia();virtual L_INT EnumDevicesCallBack(pLWIADEVICEID pDeviceID);};
Click the Solution Explorer tab.
WiaEnumDevTutorDlg.cpp file to open it.Add the following class:
LEAD_IMPLEMENTOBJECT(LMyWia);LMyWia::LMyWia(){EnableCallBack(TRUE);}LMyWia::~LMyWia(){}L_INT LMyWia::EnumDevicesCallBack(pLWIADEVICEID pDeviceID){L_TCHAR szDeviceInfo[MAX_PATH] = TEXT("");If(pDeviceID != NULL){wsprintf(szDeviceInfo,TEXT("Device ID: %s\nDevice Name: %s\nDevice Desc.:%s"),pDeviceID->pszDeviceId,pDeviceID->pszDeviceName,pDeviceID->pszDeviceDesc);MessageBox(szDeviceInfo, TEXT("Available WIA Devices"), MB_OK);}return WIA_SUCCESS;}
Click the Class View tab.
CWiaEnumDevTutorDlg and select Add "Add Variable..."LMyWia, and for the Variable Declaration put m\_MyWia. Leave Access as Public and click OK.Click to open the CWiaEnumDevTutorDlg branch. Double-click the OnInitDialog() function and add the following code after the line reading:
// TODO: Add extra initialization herem_MyWia.InitSession(WiaVersion1);
Right-click the CWiaEnumDevTutorDlg branch, and choose Properties.
WM\_DESTROY and choose OnDestroy.Add the following code after the opening bracket {:
m_MyWia.EndSession();LBase::UnloadLibraries(LT_ALL_LEADLIB);
Click the Solution Explorer tab.
WiaEnumDevTutor.rc file to open it, then double-click Dialog, and then double-click IDD\_WIAENUMDEVTUTOR\_DIALOG.Now, drag and drop 1 button, and change its properties as follows:
a. Control: Button1
b. ID: IDC_ENUM_WIA_DEVICE
c. Caption: Enumerate WIA Devices
From the View menu, select the Other Windows menu, then select the Resource View menu, then select Dialog, and select IDD\_WIAENUMDEVTUTOR\_DIALOG
m_MyWia.EnumDevices();