Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hat da jemand Erfahrung mit?

Leider gibt das Wia Tutorial unter WIA Tutorial (Windows) nicht so viel für mich her und auch sonst hab ich sehr wenig hilfreiches dazu im Internet gefunden.

Ich komme soweit das ich mir mit der DeviceId ein IWiaItem2 meines Scanners erzeuge. Aber mir ist nicht klar wie es von da weitergeht.

In dem obigen Beispiel wird als nächstes über alle Items in dem Device iteriert und dann eins davon transferiert. Ich vermute mal das das auf DigiCams abzielen soll und man so Fotos von der Speicherkarte auf den PC transferieren kann.

Hilft mir leider beim Scanner nicht weiter.

Ich hab einfach mal probiert mit

IWiaItem2 *pPicture = 0;
hr = pWiaDevice->DeviceCommand(0, &WIA_CMD_TAKE_PICTURE, &pPicture);[/PHP]

WIA_CMD_TAKE_PICTURE an den Scanner zu senden, aber da erhalte ich nur E_NOTIMPL als Result zurück.

Bin da ziemlich ratlos.

  • Autor

Ja das geht aber nur auf einem konkreten Item das zum scannen ausgewählt wurde.

Auswählen kann man das über den standard Dialog mit DeviceDlg() was ich eigentlich vermeiden wollte oder irgendwie programmatisch.

Allerdings geht das auch nicht direkt über das Interface des Scanners wie ich rausgefunden habe. Dieses ist nämlich nur der root eines Baums welcher alle Funktionen des Gerätes wiederspiegelt. Aus diesem Baum muss man sich dann irgendwie das Item raussuchen welches scannen kann und da dann das Document zum scannen selectieren und dann scannen.

Zumindest hab ich es jetzt so verstanden, ist alles ziemlich umständlich :rolleyes:

  • Autor

Hmm wenn ich jetzt versuche über mein Item das fürs scannen zuständig sein sollte den DeviceDlg aufzurufen bekomme ich als Result E_INVALIDARG.

LONG files = 0;
BSTR *fileNames = new BSTR[0];
IWiaItem2 *pWiaItems;

hr = pScannerItem->DeviceDlg(0, NULL, TEXT("d:\\testscan"), TEXT("test.png"), &files, &fileNames, &pWiaItems);[/PHP]

Ich vermute mal das es am letzten Parameter liegt wo er die Adresse eines Arrays von Pointern auf IWiaItem2 möchte, was mich aber leider nicht weiter bringt. IWiaItem2::DeviceDlg method (Windows)

Das bringt zum Beispiel den selben Fehler:

[PHP]IWiaItem2 *pWiaItems[10];

hr = pScannerItem->DeviceDlg(0, NULL, TEXT("d:\\testscan"), TEXT("test.png"), &files, &fileNames, pWiaItems);

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.