LEADTOOLS ナレッジベース

スキャナの電源状態を確認するには?

スキャナなどのTWAIN機器の接続状態、電源状態を確認するには、TWAIN機能(TWAIN Capability)のCAP_DEVICEONLINEを使用します。
以下の処理で、twCapabilityの値がFalse、もしくはエラーが返される場合は接続されていないか電源が入っていない状態と判断できます。

サンプルコード(VB.NET)

Try
    Dim twCapability As New Leadtools.Twain.TwainCapability
    twCapability = twnSession.GetCapability(TwainCapabilityType.DeviceOnline, TwainGetCapabilityMode.GetCurrent)
Catch ex As Leadtools.Twain.TwainException
    MessageBox.Show(ex.Message)
End Try

サンプルコード(C#)

try
{
    Leadtools.Twain.TwainCapability twCapability = new Leadtools.Twain.TwainCapability();
    twCapability = twnSession.GetCapability(TwainCapabilityType.DeviceOnline, TwainGetCapabilityMode.GetCurrent);
}
catch (Leadtools.Twain.TwainException ex)
{
    MessageBox.Show(ex.Message);
}

【注記】
通常、TwainExceptionCode.CheckDeviceOnlineエラーは、TwainSession.SelectSourceメソッド実行時にスキャナに電源が入っていない場合に発生します。

これはスキャナ選択時に、TWAIN 仕様 1.9/2.xのTWAIN機能であるCAP_DEVICEONLINEの状態で判定されます。
しかし、スキャナによってはTwainSession.SelectSourceメソッドによるスキャナ選択時に、この判定を行うものと行わないものがあり、必ずしもCheckDeviceOnlineエラーが返ってくるとは限りません。
スキャナの電源状態がOFFの場合でもInvalidStateエラーが発生する場合があります。

 

関連情報

0 コメント

記事コメントは受け付けていません。