コモンダイアログコントロールで選択されたブリンター名を得る方法を教えて下さい。
現在VB5で作業をしています。
コモンダイアログコントロールで選択されたブリンター名を得る方法を教えて下さい。
作成中のアプリケーションが通常使うプリンタ名をユーザーにコモンダイアログで選択してもらってそのプリンタを次回起動時にすぐ使えるようにPrintersオブジェクトで選択出来るようにする為に保存しておくのが目的です。(Windowsのシステムで設定している「通常使うプリンタ」とこのアプリケーションが通常使うプリンタとは必ずしも一致しないことを前提に)
そして、PrinterDefault=Falseの時、選択されたプリンタ名を再びコモンダイアログに反映する方法も教えて頂きたいです。
[印刷] 及び[プリンタの設定] ダイアログ ボックスでユーザーが選択をしたプリンター名をコードで得る方法がよく解りません。
ShowPrinterメソッド発行前に設定出来る「Flags」の定数に、
cdlPDReturnDefault &H400 通常使うプリンタ名を取得します。
とヘルプには有りますが、どのような手段でこれを使って選択したプリンタ名を取り出せば良いのかよく解りません。
又、定数「cdlPDReturnDC」「cdlPDReturnIC」には、「プリンタの情報コンテキストは、ダイアログ ボックスの hDC プロパティに格納されます。」と言うような説明が有るので、その中でプリンタ名が書かれているのかなと思ったりもしますが、どの様に利用すれば良いのかも判りません。
何分VBの使用経験が少な過ぎるのであまりよく解っていないので噛み砕いて教えて頂ければ幸いです。
よろしくお願いします。
補足
アドバイスありがとうございます。 ご指摘のとおりWinXPでは、コモンダイアログの設定が有効にならないようなのです。 OpenPrinterとPrinterpropertiesのAPIを使ってプリンターの設定ダイアログを表示させてみたのですが、項目が灰色になって設定を変更できませんでした。