windows-nt/Source/XPSP1/NT/printscan/wia/test/msqscan/msqscan.cpp
2020-09-26 16:20:57 +08:00

102 lines
2.5 KiB
C++

// MSQSCAN.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "MSQSCAN.h"
#include "MSQSCANDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMSQSCANApp
BEGIN_MESSAGE_MAP(CMSQSCANApp, CWinApp)
//{{AFX_MSG_MAP(CMSQSCANApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMSQSCANApp construction
CMSQSCANApp::CMSQSCANApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CMSQSCANApp object
CMSQSCANApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CMSQSCANApp initialization
BOOL CMSQSCANApp::InitInstance()
{
AfxEnableControlContainer();
//
// Initialize COM
//
if (SUCCEEDED(CoInitialize(NULL))) {
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CMSQSCANDlg dlg;
m_pMainWnd = &dlg;
switch (dlg.DoModal()) {
case IDOK:
break;
case IDCANCEL:
break;
default:
break;
}
//
// clean up WIA before we uninitialize COM
//
dlg.m_WIA.CleanUp();
if(dlg.m_DataAcquireInfo.hBitmapData != NULL) {
GlobalUnlock(dlg.m_DataAcquireInfo.hBitmapData);
GlobalFree(dlg.m_DataAcquireInfo.hBitmapData);
dlg.m_DataAcquireInfo.hBitmapData = NULL;
}
//
// Uninitialize COM
//
CoUninitialize();
} else {
AfxMessageBox("COM Failed to initialize correctly");
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}