Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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:

Geschrieben

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 Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...