質問
インストール時にプリンタードライバーとして動作するアプリケーションをC ++またはC#で作成したい。印刷ダイアログのドロップダウンリストで利用可能になりますが、印刷する代わりにコードを呼び出します。
Windowsがプリンタードライバーを作成するために提供するインターフェイスがいくつかあると思います。
解決
Windowsはインターフェイスの負荷を提供します。どんな種類のプリンタードライバーを書きたいか知っていますか?現在、Windowsは、PostScript、Unidrv、およびXPSDrv(EP 1.0以降のXP / 2003 Serverでは後者)の3種類のプリンタードライバーをサポートしています。ほとんどの場合、代わりにドライバープラグインを作成するだけで十分です。 INFアーキテクチャを読んで、これらがインストールされること、特にミニドライバーに関するセクションを確認してください。
提案されているように、ドライバーまたはそのプラグインをビルドするにはWDKが必要です。ドライバーはVisual Studio IDEまたはコンパイラーを使用しないことに注意してください。 WDKには、独自のコンパイラが付属しています。 VSで後者をいつでも接続できますが、それは別の話です。
WDKには、さまざまなOSをターゲットとする設定があります。どのOS(またはOS-esのセット)に対応するかを知り、適切なセットアップを選択する必要があります。
プリンターのリストに表示される単純なドライバーを作成します。
それがどのように役立つかわかりません。ドライバーを作成している場合、システムに存在する他のすべてのドライバーのリストが必要なのはなぜですか?
このドライバーに印刷するとコードが呼び出され、ドキュメントのPDFを作成したり、Webサービスを呼び出したりすることができます。
興味深い! UIプラグインでこれらすべてを実現できます。 UIプラグインは、Advanced
ドライバープロパティを選択するとロードされるdllです。
UIプラグインの使用を開始するには、WDKのサンプルoemui
ソースコードをご覧ください。
他のヒント
リストに表示されるかどうかはわかりませんが、この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;
};
}