わんくまライブラリ Wankuma.Interop.GetDeviceCapsWrapperクラス Version1
この文書はVisual Studio 2003(.NET1.1)をベースに記述されています。それ以降のバージョンや、あなたが読んでいる時点では変更されている可能性があります。
またバージョンアップされている場合にはなんらかかの不具合を含んでいる可能性があります。
ソースファイルへ
Wankuma.Interop.GetDeviceCapsWrapper1s.htm
ソースファイル直接ダウンロードへ
Wankuma.Interop.GetDeviceCapsWrapper1c.txt
利用規約へ
../kiyaku.htm
クラスの説明
プリンタの情報はPrinterSettingsクラスで取得できます。
ただしこのPrinterSettingsはWindowsとしてプリンタの管理している情報のごく一部のみにしかアクセスすることが出来ません。
そこでP/Invokeを利用してGetDeviceCapsを呼び出すためのラッパがこのクラスです。
このクラスで取得できるのは入り口のGetDeviceCapsを通じたアクセスのみで、その値をどう使うかや、enumなどは全てを作成していません。
このラッパ自体の使い方は以下で説明しますが、取得する値についての説明などはMSDNの該当サイトを確認してください。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpgdi/html/_win32_getdevicecaps.asp
LOGPIXELSX LOGPIXELSY |
画面の水平/垂直方向での、論理インチ当たりのピクセル数。 |
PHYSICALWIDTH PHYSICALHEIGHT |
ページの物理的なデバイス単位。 |
PHYSICALOFFSETX PHYSICALOFFSETY |
物理的なページの端から印刷可能領域の左端までの距離 |
HORZRES VERTRES |
ピクセル単位の画面の幅/高さ |
このあたりの印刷に必要な、余白や解像度の情報はこれを使わなければ取得不可能です。
メソッドの説明
public bool Init(string PrinterName)
public bool Init(PrinterSettings ps)
プリンタの名前や、PrinterSettingsを元にクラスを初期化します。
初期化に成功したかどうかが戻り値として戻ります。public int GetData(CommandIndex ci)
値を取得します。
public void Dispose()
アンマネージドなリソースを保持しているので、利用終了時に必ず呼び出してください。