找回密码
 立即注册

QQ登录

只需一步,快速开始

330771295

最新发帖
330771295
注册会员   /  发表于:2020-3-5 15:45:40
12#
我想的就是终止此次扫描操作!!有其他办法吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-3-5 15:24:19
11#
抱歉,之前我这边也没有在AcquirePage事件外调用验证,测试了一下确实不能

但是stopfeeder方法本身按照描述也并不是关闭机器,只是中止此次扫描操作

https://www.leadtools.com/help/s ... ion-stopfeeder.html
回复 使用道具 举报
330771295
注册会员   /  发表于:2020-3-5 11:59:04
10#
版主,我把  session.Shutdown(); 这句话注释了!!一样是这样!!(启动扫描仪不扫纸张的情况下可以关闭扫描仪,一旦扫描了一页纸,再去关闭就报错!)麻烦版主再看看
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-3-4 16:40:07
9#
主要是  session.Shutdown();不能先于这个来调用,倒不是说关闭设备必须要在AcquirePage事件中

session.Shutdown()请在关闭程序时再调用
回复 使用道具 举报
330771295
注册会员   /  发表于:2020-3-4 16:24:35
8#
版主,能告诉我为啥这样调用会错嘛
回复 使用道具 举报
330771295
注册会员   /  发表于:2020-3-4 16:14:49
7#
版主是这样的,放在AcquirePage事件中确实是没用问题!!但是,我们不能扫一张就停了一次扫描设备啊!!我们一般是扫了一份档案后,才会停止一次,而档案的页数是不固定的!!,所以我们才考虑把停止扫描仪放在一个按钮,由扫描人员自己决定何时关闭扫描仪
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-3-4 15:57:58
6#
参考下面的链接中的示例,在AcquirePage事件中获取影像后就调用试试,此时session.Shutdown()尚未调用

https://www.leadtools.com/help/s ... ession-acquire.html
回复 使用道具 举报
330771295
注册会员   /  发表于:2020-3-4 15:08:15
5#
麻烦 拜托版主了!!搞了2天多了!!没法解决!!
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-3-4 14:51:41
地板
好的,我测试一下
回复 使用道具 举报
330771295
注册会员   /  发表于:2020-3-4 14:34:42
板凳
版主你好,由于集成了比较多东西,工程文件大,我这里把启动扫描的代码发出来,你新建工程粘贴下就:在窗体的Load事件里执行:
twnSession= twnSession = new TwainSession();

在开始扫描按钮执行:
Action action = new Action(StartScan);
action.BeginInvoke(ScanFinishCallBack, null);

private void StartScan()
        {
            try
            {
                ScanConfigInfo config = ScanConfigInfo.GetActivityScanConfig();
                session.Startup(IntPtr.Zero, "Qs Technologies, Inc.", "QsScanApp", "Version 1.0", "QsScanApp", TwainStartupFlags.None);
                session.SelectSource(config.ScanDevice);
                InitTwainSessionByConfig(config);
                session.AcquirePage += TwainSession_AcquirePage;
                session.Acquire(TwainUserInterfaceFlags.None);
                session.AcquirePage -= TwainSession_AcquirePage;
                session.Shutdown();
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show("启动扫描仪出错(" + ex.Message + ")", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            finally
            {
                SetBtnEnableForStartOrStop(false);
            }
        }

private void ScanFinishCallBack(IAsyncResult result)
        {
            if (result.IsCompleted)
            {
                //SetBtnEnableForStartOrStop(false);
            }
        }

在停止按钮中执行:
session.StopFeeder();

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部