The LEADTOOLS WIA driver is available in LEADTOOLS version 16 or higher.
This tutorial is to provides you with 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.
1.  | 
Start Microsoft Visual Studio  | 
2.  | 
Select the File->New menu option, click the "Project" menu.  | 
3.  | 
From "Project Types" select "Other Languages" to expand it, then select "Visual C++" to expand it, then select "MFC". From the right window select "MFC Application".  | 
4.  | 
In the Project Name dialog box, enter "WiaAcquireTutor".  | 
5.  | 
In the Location dialog box, use the "Examples\ClassLibrary\MSVC" directory of your LEAD installation. For example, if you installed LEADTOOLS in "C:\LEADTOOLS 19\", enter "C:\LEADTOOLS 19\Examples\ClassLibrary\MSVC", then Click OK. Then click "Next".  | 
6.  | 
Choose "Dialog based" and click "Finish".  | 
7.  | 
Click on the "Solution Explorer" tab, and then click on the "WiaAcquireTutor" project to expand it. Click on the Header files, then Open "WiaAcquireTutor.h".  | 
8.  | 
Add the following line immediately before the class CWiaAcquireTutorApp declaration, (keep in mind, you may have to change the path to where the header files reside):  | 
#include "..\..\..\..\include\ClassLib\ltwrappr.h" 9.  | 
Click on the "Class View" tab.  | 
10.  | 
Click to open the "WiaAcquireTutor" classes branch.  | 
11.  | 
Click "CWiaAcquireTutorApp", and then double click the CWiaAcquireTutorApp(void) constructor.  | 
12.  | 
Add the following lines after   | 
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);
| 13. | Create a new file called Imports.cpp in place it beside your project files. | |
| a. | In the Project Workspace, click the Solution Explorer tab. | |
| b. | Double-click the WiaAcquireTutor folder to open it. | |
| c. | Right-click the Source files folder and select Add New item. | |
| d. | Expand Visual C++ tree, if it is not already expanded. | |
| e. | Select Code from the sub tree. | |
| f. | Select C++ File (.cpp) from the right window. | |
| g. | In the name text box, specify Imports.cpp | |
| h. | Click the Add button. | |
| i. | Double-click the 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)
14.  | 
Click on the "Solution Explorer" tab.  | 
15.  | 
Double-click the "WiaAcquireTutor" folder to open it.  | 
16.  | 
Double-click the "Header Files" folder to open it. Then double click "WiaAcquireTutorDlg.h" file to open it.  | 
17.  | 
Add the following class declaration before CWiaAcquireTutorDlg class.  | 
class LMyWia : public LWia{LEAD_DECLAREOBJECT(LMyWia);public:LMyWia();virtual ~LMyWia();virtual L_INT AcquireCallBack(pBITMAPHANDLE pBitmap, L_TCHAR * pszFilename, L_UINT32 uPercent, L_UINT32 uFlags);};
18.  | 
Click on the "Solution Explorer" tab.  | 
19.  | 
Double-click the "WiaAcquireTutor" folder to open it.  | 
20.  | 
Double-click the "Source Files" folder to open it. Then double click "WiaAcquireTutorDlg.cpp" file to open it.  | 
21.  | 
Add the following class:  | 
LEAD_IMPLEMENTOBJECT(LMyWia);LMyWia::LMyWia(){EnableCallBack(TRUE);}LMyWia::~LMyWia(){}L_INT LMyWia::AcquireCallBack(pBITMAPHANDLE pBitmap, L_TCHAR * pszFilename, L_UINT32 uPercent, L_UINT32 uFlags){//Copy the acquired bitmap herereturn SUCCESS;}
22.  | 
Click on the "Class View" tab.  | 
23.  | 
Right click "CWiaAcquireTutorDlg" and select Add "Add Variable..."  | 
24.  | 
For Variable Type enter LMyWia, and for Variable Declaration put m_MyWia. Leave Access as "Public" and click OK.  | 
25.  | 
Click to open the CWiaAcquireTutorDlg branch. Double click the OnInitDialog() function and add the following code after line:  | 
// TODO: Add extra initialization herem_MyWia.InitSession(WiaVersion1);
26.  | 
Right click the CWiaAcquireTutorDlg branch, and choose "Properties".  | 
27.  | 
From the "Properties" window toolbar, click on the Messages icon. Then click on the empty area beside the item "WM_DESTROY" and choose OnDestroy.  | 
28.  | 
Add the following code after the opening bracket {:  | 
m_MyWia.EndSession();LBase::UnloadLibraries(LT_ALL_LEADLIB);
| 29. | Click on the "Solution Explorer" tab. | ||
| 30. | Double-click the "WiaAcquireTutor" folder to open it. | ||
| 31. | Double-click the "Resource Files" folder to open it. Then double click "WiaAcquireTutor.rc" file to open it, then double click "Dialog", and then double click "IDD_WIAACQUIRETUTOR_DIALOG" | ||
| 32. | Now, drag and drop 2 buttons, and change their properties as follows: | ||
| ID | Caption | ||
| Button1 | IDC_SELECT_SRC | Select Source | |
| Button2 | IDC_ACQUIRE | Acquire | |
| 33. | From View menu, select "Other Windows" menu, then select "Resource View" menu, then select Dialog, and select "IDD_WIAACQUIRETUTOR_DIALOG" | ||
| 34. | Double click on "Select Source" button, and add the following code: | ||
m_MyWia.SelectDeviceDlg(WiaDeviceTypeDefault, L_WIA_SELECT_DEVICE_NODEFAULT); 35.  | 
From View menu, select "Other Windows" menu, then select "Resource View" menu, then select Dialog, and select "IDD_WIAACQUIRETUTOR_DIALOG"  | 
36.  | 
Double click on "Acquire" button, and add the following code:  | 
m_MyWia.m_MyWia.Acquire(L_WIA_SHOW_USER_INTERFACE | L_WIA_DEVICE_DIALOG_USE_COMMON_UI, NULL, NULL, NULL, NULL);  37.  | 
Compile and test the program.  |