Hallo,
ich steuere eine Ladenkasse über einen speziellen Ausgang eines PosPrinters an und muß dazu eine ESC-Sequenz an den Drucker schicken. Dazu habe ich in der Vergangenheit die Funktion WritePrinter benutzt. Unter XP geht das jetzt nicht mehr. Ich kann sogar überhaupt nichts mehr ausdrucken. Wenn ich den Drucker anklicke kann ich in dem Fenster sehen, wie dort der Druckauftrag erscheint und nach kurzer Zeit offensichtlich fertig ist. Nur leider bewegt sich beim Drucker gar nichts. Ich habe mal ein kleines Beispielprogramm mitgeliefert:
<PRE>
HANDLE PrnHandle;
DWORD size;
char Help[1024] = {"Hallo"};
OpenPrinter("HP Laserjet",&PrnHandle,NULL);
if (PrnHandle != NULL)
{ DOC_INFO_1 DocInfo;
DocInfo.pDocName = "WritePrinter-Test";
DocInfo.pOutputFile = NULL;
DocInfo.pDatatype = "RAW";
if (StartDocPrinter(PrnHandle,1,(LPSTR)&DocInfo) <= 0) ErrMsg("StartDocPrinter");
else if (StartPagePrinter(PrnHandle) <= 0) ErrMsg("StartPagePrinter");
else if (!WritePrinter(PrnHandle,Help,strlen(Help),&size))
ErrMsg("WritePrinter");
if (!EndPagePrinter(PrnHandle)) ErrMsg("EndpagePrinter");
else if(!EndDocPrinter(PrnHandle)) ErrMsg("EndDoc");
ClosePrinter(PrnHandle);
}
</PRE>
Bye - Peter
ich steuere eine Ladenkasse über einen speziellen Ausgang eines PosPrinters an und muß dazu eine ESC-Sequenz an den Drucker schicken. Dazu habe ich in der Vergangenheit die Funktion WritePrinter benutzt. Unter XP geht das jetzt nicht mehr. Ich kann sogar überhaupt nichts mehr ausdrucken. Wenn ich den Drucker anklicke kann ich in dem Fenster sehen, wie dort der Druckauftrag erscheint und nach kurzer Zeit offensichtlich fertig ist. Nur leider bewegt sich beim Drucker gar nichts. Ich habe mal ein kleines Beispielprogramm mitgeliefert:
<PRE>
HANDLE PrnHandle;
DWORD size;
char Help[1024] = {"Hallo"};
OpenPrinter("HP Laserjet",&PrnHandle,NULL);
if (PrnHandle != NULL)
{ DOC_INFO_1 DocInfo;
DocInfo.pDocName = "WritePrinter-Test";
DocInfo.pOutputFile = NULL;
DocInfo.pDatatype = "RAW";
if (StartDocPrinter(PrnHandle,1,(LPSTR)&DocInfo) <= 0) ErrMsg("StartDocPrinter");
else if (StartPagePrinter(PrnHandle) <= 0) ErrMsg("StartPagePrinter");
else if (!WritePrinter(PrnHandle,Help,strlen(Help),&size))
ErrMsg("WritePrinter");
if (!EndPagePrinter(PrnHandle)) ErrMsg("EndpagePrinter");
else if(!EndDocPrinter(PrnHandle)) ErrMsg("EndDoc");
ClosePrinter(PrnHandle);
}
</PRE>
Bye - Peter
Comment