プリンタの”白紙節約”の設定情報を取得設定するには?

解決


MEGU  2005-10-19 17:20:32  No: 126524  IP: [192.*.*.*]

VB5で開発をしています。
今回は、プリンタの設定情報を保持したいのですがその情報の取得方法がわかりません。
その情報はと言いますと、プリンタプロパティのグラフィックの中にある”白紙節約”がチェックされているかどうかです。
この項目の取得と設定をプログラム内で行いたいのですがどなたかわかる方みえませんでしょうか?

編集 削除
K.J.K.  2005-10-20 09:36:10  No: 126525  IP: [192.*.*.*]

まず、そのプリンタドライバの仕様書を取得し、標準のDEVMODE以降の
構造を調べる必要があります。その構造がわかったら、DEVMODEを
入出力するAPI関数を用いて、それを取得・設定するまでです。

編集 削除
魔界の仮面弁士  2005-10-20 09:46:55  No: 126526  IP: [192.*.*.*]

白紙節約……それ、プリンタ固有の設定じゃないでしょうか。
だとすると、少々厄介かも。


VB5 の標準機能ではチェックできないので、API の使用が前提となりますが、
おそらくは、DEVMODE構造体の dmDriverExtra メンバで示されるサイズの、
「ドライバ固有のプライベートメンバ」から、設定情報を読み込まなければ
ならないような気がします。

どこのメーカーの、どのバージョンのプリンタドライバを使っているのか
わからないので、具体的な方法は書けませんが、もしも、ドライバ固有の
情報なのだとすれば、プリンタメーカーにそのプライベートメンバの仕様を
問い合わせるか、自分で“白紙節約”の設定を変化させてみて、それが
DEVMODE にどのような変化を与えるのかを解析する必要があるかと思います。

編集 削除
MEGU  2005-10-21 15:20:02  No: 126527  IP: [192.*.*.*]

K.J.K.さん、魔界の仮面弁士さん、ありがとうございました。
簡単にできると思っていましたがこんなに厄介だったんですね。
お二人からのアドバイスを参考に調べてみます。
ありがとうございましたm(__)m

編集 削除