Impresion Directa

02/06/2004 - 16:06 por Juan Carlos | Informe spam
Hola estoy enviando un archivo para que sea enviado
directamente a impresora y que se ejecuten ciertos
comandos en ella, para ello estoy utilizando lo descrito
en el articulo

HOW TO: Send Raw Data to a Printer by Using Visual C# .NET
que se encuentra en microsoft

Esto me funciona para XP pero no me esta funcionando para
windows 98

No se a que se deba
Quien me puede ayudar al respecto


Un saludo
Juan Carlos
 

Leer las respuestas

#1 Rodrigo Corral [MVP]
02/06/2004 - 17:12 | Informe spam
Esta pregunta es más adecuada para el grupo de C# pero... quiza esto te
sirva. Es un código que postee hace tiempo en el grupo de C#.

using System;
using System.IO;
using System.Runtime.InteropServices;
namespace LPTWrite
{
class LPTWrite
{
[StructLayout(LayoutKind.Sequential)]
private struct SECURITY_ATTRIBUTES
{
public int nLength;
public int lpSecurityDescriptor;
public int bInheritHandle;
}
private const int GENERIC_WRITE = 1073741824;
private const int FILE_SHARE_WRITE = 2;
private const int OPEN_EXISTING = 3;
private const int FILE_ATTRIBUTE_NORMAL = 128;
[DllImport("kernel32.dll")]
private static extern int CreateFile(string lpFileName,int
dwDesiredAccess,int dwShareMode,[MarshalAs(UnmanagedType.Struct)] ref
SECURITY_ATTRIBUTES lpSecurityAttributes,int dwCreationDisposition,int
dwFlagsAndAttributes,int hTemplateFile);
[STAThread]
static void Main(string[] args)
{
SECURITY_ATTRIBUTES sa = new SECURITY_ATTRIBUTES();
sa.bInheritHandle = 0;
sa.lpSecurityDescriptor = 0;
sa.nLength = Marshal.SizeOf(sa);
int hLPT1 = CreateFile("LPT1", GENERIC_WRITE, FILE_SHARE_WRITE, ref sa,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
FileStream fs = new FileStream((IntPtr)hLPT1, FileAccess.Write );
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("Hola puerto paralelo!!!");
sw.Flush();
fs.Flush();
fs.Close();
}
}
}

Preguntas similares