0

我有一台带 ADF 的兄弟扫描仪。ADF 在 win 传真和扫描中效果很好,但是当我通过 WIA 访问它时,我尝试将进纸器设置为 1。问题是在遍历属性 id 时,它永远不会达到 3078。

这是它确实公开的 id 列表

4098,4099,4101,4102,4103,4104,4105,4106,4107,4108,4109,
4110,4111,4112,4113,4114,4116,4118,4120,4123,6146,6147,
6148,6149,6150,6151,6152,6153,6154,6155,6156,6157,6159,6161

这是我的代码

Dim cl = New CommonDialog
    Dim scanner = cl.ShowSelectDevice(WiaDeviceType.ScannerDeviceType, False, False).Items(1)
    Dim ids = (From x As WIA.Property In scanner.Properties Select x.PropertyID).ToList
    ids.Sort()
    MessageBox.Show(ids.Joined)
    For Each prp As WIA.Property In scanner.Properties
        Dim iprp = CType(prp, IProperty)
        Select Case prp.PropertyID
            Case 3078
                MessageBox.Show("going to set " & prp.PropertyID)
                iprp.let_Value(1)
        End Select
    Next

有任何想法吗?

我没有锁定WIA,如果有更好的图书馆,我会感兴趣。

4

2 回答 2

0

答案是这个优秀的图书馆:http ://code.google.com/p/twaindotnet/

奇迹般有效

于 2012-09-11T15:20:27.317 回答
0

问题在这里:

Dim scanner = cl.ShowSelectDevice(WiaDeviceType.ScannerDeviceType, False, False).Items(1);

您要访问的属性在这里:

cl.ShowSelectDevice(WiaDeviceType.ScannerDeviceType, False, False);
于 2017-03-22T12:45:49.827 回答