Drucken geht nicht

Stgt

Mitglied
hi

weiß jemand von euch warum das nicht klappt

#include <stdio.h> // Präprozessor-Direktiven
#include <stdlib.h>

int main()
{
FILE *fp = fopen("LPT1", "w");
fprintf(fp,"What's up ?\n");
fclose(fp);
}



es wird einfach nichts gedruckt und angezeigt zum drucken#
klappt das etwa bei euch

danke
 
Hi,
schlechte Nahricht.. der Code klappt nur mit meinem alten Nadeldrucker.. bei meinem neuerem ist er so: der wartet auf weitere Daten. Nun leider weiss ich nciht was ich ihm schicken soll sodass er aufhoert zu warten oder weiterdruckt.
 
hi pixelshader

erst mal danke dass dus ausprobiert hast
Aber :-)
guet Nachricht, es soll ja auf einem Nadeldrucker laufen
Habs nur heut mittag daheim ausprobiert (wg. Feiertag), und daheim hab ich einen neueren Drucker, deswegen hat sich geklappt aber da muss man anscheinend erst mit net use den drucker an LPT1 zuweisen
Zeilenweise drucken geht überhaupt oder ist verdammmt schwer mit einem Laser oder Farbdrucker das hinzubekommen,, denk ich. Aber das brauch ich ja auch nicht

hauptsache es geht auf einem Nadeldrucker
bis dann, und danke
 
hallo
keiner mir bitte jemand da weiterhelfen

Habe gerade folgender code aus dem Netz kopiert und wollte ihn testen
C/C++ Code:
Code:
CString zeile="bla bla";
PrintStringDirect(zeile, "HP DeskJet 850C Series", "LPT1:" );

BOOL PrintStringDirect( LPCSTR Str, LPTSTR PrinterName, LPSTR DeviceName)
{  BOOL bRet = FALSE;

   HANDLE hPrinter;
   if ( OpenPrinter( PrinterName, &hPrinter, NULL ) )
   {
      DOC_INFO_1 doc_info = {0};
      doc_info.pDocName = "The Document Name";
      doc_info.pOutputFile = DeviceName;
      DWORD jobid = StartDocPrinter( hPrinter, 1, (LPBYTE) &doc_info );
      if ( jobid != 0 )
      {
         DWORD written;
         DWORD dwNumBytes = lstrlen( Str );
         WritePrinter( hPrinter, (void*) Str, dwNumBytes, &written );
         if ( written == dwNumBytes )
         {  bRet = TRUE;
         }
      }
      EndDocPrinter(hPrinter);
      ClosePrinter(hPrinter);
    }
    return bRet;
}


aber wie bekomm ich das zum laufen
Ich bin so vorgegangen
MFC Anwendung- dialogbasierend, und dann inder .DLG Klasse eine neue Funktion erstelltBOOL Dlg:: usw...
und diese dann in der OnOk Funkt. aufgerufen, aber das ist falsch ..
Wie macht man das denn richtig :confused:
danke
 
hi

also das mit fopen usw klappt jetzt auch bei mir (mit nem alten drucker )
Aber weißt du auch wie man das macht, wenn man anstatt über LPT1 über ein TCP/IP Port drucken möchte.
Oder druckt man mit fopen standartmäßig über LPT1
Das Drucker = fopen("IP_IPAdresse","w"); geht ja nicht... oder?

danke
 
Zurück