亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

防止掃描儀凍結程序

防止掃描儀凍結程序

C#
慕森王 2022-08-20 16:17:16
我目前正在開發一個模塊,用戶可以在其中掃描文檔并保存它們。目前,正在使用的工作代碼來自Jeske,來自GitHub(鏈接在這里)。客戶使用的掃描儀是:愛普生完美V600。前面提到的代碼就像一個魅力,預計會出現1種情況:如果掃描儀進入睡眠/非活動模式,并且用戶嘗試在該狀態下掃描文檔,則應用程序將在等待掃描儀響應時自行凍結(有時它確實如此,有時它沒有)。確切地說,程序凍結在此特定行:WIA.ImageFile image = (WIA.ImageFile)wiaCommonDialog.ShowTransfer(item, wiaFormatBMP, false);我的問題是:有沒有辦法防止應用程序在嘗試從給定的掃描儀掃描時凍結?(僅當掃描儀處于睡眠/非活動模式時,才會發生此問題)
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

您可以使用并發來防止阻塞。如果每當操作未結束時,您也可以將 CancelToken 與 CancelTokenSource 一起使用,則可以向您的功能發送取消信號,以便中止掃描操作。


public Task Scan()

{

    ....

    WIA.ImageFile image = (WIA.ImageFile)wiaCommonDialog.ShowTransfer(item, wiaFormatBMP, false);

    ...

}

然后在您的主程序中


//wait 20 seconds before cancellation

CancellationTokenSource cts=  new CancellationTokenSource(20000);

var myTask = Task.Run(() => Scan(),  cts.Token);

await myTask;


查看完整回答
反對 回復 2022-08-20
  • 1 回答
  • 0 關注
  • 93 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號