デフォルトのプリンタ名を取得したい – プログラミング – Home

デフォルトのプリンタ名を取得したい
 
通知
すべてクリア

[解決済] デフォルトのプリンタ名を取得したい


お茶
 お茶
(@お茶)
ゲスト
結合: 20年前
投稿: 42
Topic starter  

ネットワーク・ローカルにつながっているプリンタ名を取得するのにEnumPrinters()API
を使い、その一覧を取得する事はできましたが、その中でどれがデフォルトなのかを
どうやって判定したらいいのか分かりません。
Win98の場合はプリンタ情報レベル2で取得し、PRINTER_INFO_2の中のAttributesを
チェックすれば良いようですが、WinXPの場合はこれではダメのようです。
GetDefaultPrinter()APIはロ-カルプリンタのみのようですので、ネットワークプリンタ
がデフォルトの場合は名前の取得に失敗します。

とりあえずデフォルトプリンタ名を取得できれば一覧から一致する物を見つける事ができ
ますので、ローカル・ネットワークを含めたデフォルトプリンタの名前を取得できれば
OKです。
どうやったら取得できるのでしょうか?

win.iniにもそれらしい物は見つかりませんでした・・・

環境はVC++6.0SP6 MFC未使用 WinXPです。


引用未解決
トピックタグ
はる
 はる
(@はる)
ゲスト
結合: 21年前
投稿: 34
 

既定のプリンタ(通常使うプリンタ)に関する情報を取得するには、セクション名を表
す文字列に windows、キー名を表す文字列に device を設定して
GetProfileString 関数を呼び出してください。既定のプリンタの名前、プリンタの
DRV ファイルの名前、プリンタの接続ポートからなる文字列が返ります。

と、EnumPrinters()APIのマニュアルに書いてあります。


返信引用
お茶
 お茶
(@お茶)
ゲスト
結合: 20年前
投稿: 42
Topic starter  

ありがとうございます。
確認しましたが、確かに取得できました。

> EnumPrinters()APIのマニュアルに書いてあります。

私のMSDNライブラリにはのってませんねぇ。(2001/10月)
APIマニュアルって何でしょう?
MSDNが古いだけなのかな?
ともあれ問題は解決しました、ありがとうございます。


返信引用
お茶
 お茶
(@お茶)
ゲスト
結合: 20年前
投稿: 42
Topic starter  

ごめんなさい、MSDNにバッチリ書かれてました。
見落としてたようです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました