Mit COM-Port Anschluss alten Drucker (Nadeldrucker) ansprechen

jacko5269

Grünschnabel
hi,

mache zur zeit ein Praktikum und da habe ich die Aufgabe, einen alten Nadeldrucker per
COM-Port Anschluss anzusprechen und mittels MFC-Anwendung einen eingegebenen
Text an den Drucker zu schicken und den anschließend ausdrucken zu lassen.

Habe jetzt mittlerweile einige Beiträge und ganz google durchsucht und nichts passendes
gefunden

Am einfachsten wäre dies vielleicht mit CreateFile, WriteFile, ReadFile oder mittels
CSerial?

Vielleicht hat ja einer schon mal das gleiche Problem gehabt und weiß, wie man das am
besten löst. Bin für jeden Vorschlag dankbar.

mfg jacko5259
 
Na, da hast Du's doch schon selber rausgefunden!
Du öffnest den COM-Port mit CreateFile, dann schreibst Du Daten mit WriteFile hinein und liest die Daten des Druckers mit ReadFile aus.
Was Du allerdings für Daten an den Drucker schicken mußt, das kann ich Dir nicht sagen. Das hängt vom Drucker ab.
 
Normalerweise müsste der Drucker "Hallo" ausgeben, oder?

Code:
	HANDLE comHandle;
    comHandle = CreateFileA(
		"COM1",
		GENERIC_READ | GENERIC_WRITE,   
		0,     // exclusive access
		NULL,  // no security attributes
		OPEN_EXISTING,
		FILE_ATTRIBUTE_NORMAL,
		NULL
	);
    if(comHandle != INVALID_HANDLE_VALUE)
    {
		DWORD written;
		if (WriteFile(comHandle, "Hallo", 5, &written , NULL))
			MessageBox((LPCTSTR) "Geht");
    }
 
Du wirst noch die Parameter des COM-Ports einstellen müssen: Eine DCB-Struktur füllen und mit SetCommState() zuweisen sowie evt. auch die Timeouts mit SetCommTimeouts() einstellen.

Gruß
MCoder
 
Zurück