using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Configuration;
using System.Windows.Forms;
using System.Threading;
using System.Diagnostics;
using Saraff.Twain;
using HXX.Scanner.Common;
using HXX.Scanner.Biz.Socket;
using HXX.Scanner.Biz.twain32.form;
namespace HXX.Scanner.Biz
{
///
/// 构造tw使用的消息循环线程
///
public class biz_thread
{
///
/// 消息循环线程
///
public Thread main_thread { get; set; }
///
/// 供tw使用的隐藏窗体
///
public frmHandler frm_handler { get; set; }
///
/// tw本体
///
public Twain32 engine;
///
/// 开启消息循环
///
public void start()
{
main_thread = new Thread(() =>
{
try
{
frm_handler = new frmHandler();
this.engine = new Twain32();
this.engine.AppProductName = "Saraff.Twain.NET";
this.engine.Country = TwCountry.CHINA;
this.engine.IsTwain2Enable = false;
this.engine.Language = TwLanguage.CHINESE_SIMPLIFIED;
this.engine.ShowUI = false;
this.engine.Parent = frm_handler;
twain32_events.Init(engine);
engine.AcquireCompleted += new System.EventHandler(twain32_events._twain32_AcquireCompleted);
engine.AcquireError += new System.EventHandler(twain32_events._twain32_AcquireError);
engine.EndXfer += new System.EventHandler(twain32_events._twain32_EndXfer);
engine.XferDone += new System.EventHandler(twain32_events._twain32_XferDone);
engine.SetupFileXferEvent += new System.EventHandler(twain32_events._twain32_SetupFileXferEvent);
engine.FileXferEvent += new System.EventHandler(twain32_events._twain32_FileXferEvent);
engine.DeviceEvent += new System.EventHandler(twain32_events._twain32_DeviceEvent);
Application.Run(frm_handler);
}
catch (Exception ee)
{
if (ee.Message.Contains("正在中止线程"))
{
LogManager.WriteLog("123");
return;
}
LogManager.WriteLog(ee);
}
});
main_thread.Start();
}
}
}