Kyocera Netzwerkdrucker über Winsock (immer noch offen!!)
-
Hallo,
ich würde gerne ein Kyocera- Drucker über Winsock ansprechen, doch mir fehlen die Befehle und der dazugehörige Port, weiß da zufällig einer weiter und zudem ists überhaupt möglich das über ein Winsock zu erreichen??
-
Was willst Du denn machen?
- Drucken? Dazu benötigst Du einen installierten Druckertreiber.
- Verwalten? Dazu müsstest Du das Protokoll kenen das Kyocera verwendet
-
Ich möchte nur den Status abfragen!
Inzwischen ists mir sogar egal wie, denn ich finde einfach keine passenden Befehle oder so.
Von daher würde ich auch auf anderen Funktionen oder so umsteigen, doch ich dachte, dass Winsock die beste Möglichkeit wäre einen Netzwerkdrucker anzusprechen!Also:
Ich möchte einfach irgendwie den Status meines Netzwerkdruckers abfragen, egal wie!!
-
Versuch es mal mit SNMP
http://de.wikipedia.org/wiki/Simple_Network_Management_Protocol
-
Vielen Dank, das scheint der richtige Weg zu sein, doch wie genau wende ich das jetzt in meinem Programm an??
-
Weiß denn keiner weiter?
Also ich komme mit dem SNMP im Mom nicht so wirklich zurecht!
-
Wenn SNMP der richtige Weg ist warum schaust Du nicht nach existierendem Code.
Eine Suche bei Codeproject wurde sofort fündig:
http://www.codeproject.com/library/WinSNMPWrapper.asp
-
Hmmmmm ich finde aber die benötigte .h Datei nicht und zudem erkenne ich dort nicht, wie genau ich nun den Status ablesen kann, also ob der Toner leer ist oder sowas...
Wie genau mache ich das usw??
Ich komme irgendwie nicht damit zurecht!Ich möchte ahlt nur irgendwie wissen ob der Toner oder das Papier leer ist, egal wie!
Mir wäre es auch egal, wenn man das mit "net use lpt1 : \\192.168.111.23\printer" oder so machen würde... hauptsache ich kann irgendwie den Status bekommen...
-
Noch eine Alternative:
Falls der Drucker UPnP unterstützt kannst du über PrinterState und PrinterStateReason den Drucker-Status auslesen.http://www.upnp.org/standardizeddcps/printer.asp (Service Print V1.0)
...in der msdn findet man noch:
How to get the status of a printer and a print job
-
Vielen Dank, ich verwende gerade das Beispiel von Msdn aber woher bekomme ich den Handle zu einem Netzwerkdrucker??
-
Hat sich erledigt, ich habe die Funktion OpenPrinter() gefunden und mit der kann ich ein Handle zum Netzwerkdrucker machen. Doch ich bekomme bei der Funktion EnumJobs irgendwie nur den Druckerstatus 0 zurück, welcher kein wirklicher Status ist.
Sprich irgendwie funktioniert die Funtkion nicht ganz, wodran kann das liegen?
-
An dieser Stelle möchte ich diesen Beitrag immer noch als offen anmerken, ich finde einfach nicht den Fehler, warum der Status immer 0 ist, egal was ich mache...
-
Hm also ich habe jetzt die Funktion EnumPrinters, ähnlich wie in diesem Beispiel: http://www.winterdom.com/dev/ptk/enumprint.c benutzt.
Jetzt bekomme ich den richtigen Druckernamen zurück, jedoch ist der Status immernoch 0, wodran liegt das?
Vielleicht an den Druckereinstellungen oder so??
-
Hallo
hast du das Problem lösen können
Habe den Source Code von enumprint ausprobiert leider bekomme ich die Fehlermeldung
C:\C++Projekte\enumprint\Makefile.win [Build Error] [enumprint.exe] Error 1
kannst du mir dabei Helfen.
-