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