2009-03-16 10 views
12

Quiero escribir una aplicación en C++ o C# que se comportará como un controlador de impresora cuando está instalado. Estará disponible en la lista desplegable en el cuadro de diálogo Imprimir, pero en lugar de imprimir llamará a mi código.Escribiendo un controlador de impresora de Windows

Creo que puede haber algunas interfaces que proporciona Windows para escribir controladores de impresora.

+0

Te diste cuenta de cómo hacerlo? – jNewbie

Respuesta

21

Windows proporciona muchas interfaces. ¿Sabes qué tipo de controlador de impresora quieres escribir? En la actualidad, Windows admite tres tipos de controladores de impresora: PostScript, Unidrv y XPSDrv (este último en XP/2003 Server con EP 1.0 y versiones posteriores solamente). La mayoría de las veces, basta con escribir un complemento de controlador. Lea en la arquitectura INF para saber que estas cosas se instalan, especialmente la sección sobre minicrivers.

Según lo sugerido, necesitará el WDK para poder construir un controlador o un complemento del mismo. Tenga en cuenta que los controladores no usan Visual Studio IDE o compiladores. El WDK viene con un compilador propio. Siempre puedes conectar este último con VS, pero esa es una historia diferente.

El WDK tiene configuraciones para apuntar a diferentes OS-es. Tendrá que saber qué sistema operativo (o conjunto de OS-es) desea abordar y elegir la configuración adecuada.

Quiero escribir un controlador simple que se mostrará en la lista de impresoras.

No veo cómo será útil. Si está escribiendo un controlador, ¿por qué quiere una lista de todos los otros controladores presentes en el sistema?

Impresión a este controlador llamará en mi código para que pueda hacer cosas como crear un PDF del documento, llamando al Servicio de Web etc.

Interesante! Puede lograr todas esas cosas en un complemento de UI. Un complemento de UI es un archivo DLL que se carga cuando selecciona las propiedades del controlador Advanced.

Para comenzar con los complementos de la interfaz de usuario eche un vistazo al código fuente de la muestra oemui en el WDK.

+0

Quiero escribir un controlador simple que se mostrará en la lista de impresoras. La impresión de este controlador llamará a mi código para que pueda hacer cosas como crear un PDF del documento, llamar al servicio web, etc. – A9S6

+0

Hola. ¿Puedo usar un complemento de UI para procesar un documento después de que se imprima en PDF? Estoy buscando la lib de MSDN y no puedo ver el tuerto de esa manera. http://msdn.microsoft.com/en-us/library/windows/hardware/ff551791(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/hardware /ff548564(v=vs.85).aspx – user2173353

+0

Creo que esto es: http://msdn.microsoft.com/en-us/library/windows/hardware/ff554141(v=vs.85).aspx – user2173353

-1

No estoy seguro de ello que se mostrará en la lista, pero nunca he probado este código C++:

#include <fstream> 
Namespace Drivers{ 
Class Printer{ 
Const IOStream Printer("PRN"); 
Void Send(char a[]){ 
Printer<<a;} 
Char GetStatus[](){ 
Char a[]; 
Printer>>a; 
return a; 
}; 
} 
+0

What ¿este código realmente? –

Cuestiones relacionadas