Daten zum lokalen Drucker senden
-
Hallo!
Habe hier dieses Script, welches Testweise an den Druckerport Daten zum drucken senden soll:
#include <stdio.h> #include <windows.h> int main () { FILE* printer = fopen("OKILPR00","w"); if(!printer) { printf("Drucker konnte nicht gefunden werden, bzw. ist nicht eingeschaltet.\n"); } else { fputs("Test Test Test\n",printer); #printer.puts("Test Test Test\n"); fputc('\f',printer); fclose(printer); printf("Druckauftrag müsste gesendet worden sein. \a"); Sleep(10000); // eine Sekunde (= 1000 Millisekunden) warten } }
Was passiert?
- Kompilieren -> kein problem
- Ausführung -> kein Problem
- Anzeige "Druckauftrag müsste gesendet worden sein." -> kein ProblemBeim Drucker kommt aber nichts heraus / nichts an!
System: Windows XP Pro
Programm: Bloodshed Dev-C++ 4.9.9.2Habe keine zusätzlichen Libs oder so
Danke schonmal für Antworten!
-
Woher hast du den Namen "OKILPROO" und woher weißt du, daß die Datei dein Drucker ist? Aus Sicht von C ist das eine ganz normale Datei (und die Chancen stehen gut, daß eine Datei dieses Namens jetzt in deinem Programmverzeichnis aufgetaucht ist).
(und unter Windows sprichst du Drucker idR mit ihrem Ausgangport an, z.B. als "LPT1:")
-
Dazu gibt es auch einen Beitrag in der Konsolen-FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-p-is-284401.htmlGreetz
-
OKIPR00 ist der Anschluss des OKI Druckers *gg*
Hab mittlerweile gelesen, dass LPT1 in erster Linie nur angeschlossen.
Gut und schön...Lappi geschnappt, alles drauf geladen und er sendet auch zum Drucker, Drucker druckt auch - ok nicht wirklich:Blatt wird eingezogen und kommt auch normal raus, doch zu sehen ist nichts.
Mein verwendeter Code:#include <stdio.h> #include <windows.h> int main () { FILE* printer = fopen("LPT1","w"); if(!printer) { printf("Drucker konnte nicht gefunden werden, bzw. ist nicht eingeschaltet.\n"); } else { fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputs("Test Test Test\n",printer); fputc('\f',printer); fclose(printer); printf("Druckauftrag müsste gesendet worden sein. \a"); Sleep(10000); // eine Sekunde (= 1000 Millisekunden) warten } }
Danke für die schnelle Hilfe
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke fürs verschieben!
Also wie gesagt, die Daten werden zum Drucker gesendet, er zieht auch ein Blatt durch aber das bleibt komplett weiß.
Am Drucker liegts nicht, hab schon Testdrucke aus Programmen drauf gejagt.
Weiß jemande eine Lösung??
-
Dein Drucker ist wahrscheinlich schon zu neu für solch altmodische Spielereien. Sieht ganz danach aus, als müsstest du ordentlich über den Treiber gehen. Also mit Hilfe der WinAPI drucken.
MfG SideWinder
-
Hallo!
Hab den Fehler gefunden...der Drucker war nen Multigerät, also Fax etc. Auf nen anderen Drucker druckte er dann