Win32 APIで「印刷設定」のダイアログを開くサンプルページを教えてください。

ここで開いて欲しいダイアログは、アプリ単位での設定画面ではなく、Windows全体に影響を及ぼすほうのダイアログです(プリンタアイコンを右クリックしてメニューから「印刷設定」を選んで表示するダイアログ)。
VisualC++6.0でWindows2000/XP上で動くプログラムを開発しています。

/
「プロパティ」を開く方法については、前回の質問で上手く行きました。(いわしにサンプルコードを投稿しました)
http://www.hatena.ne.jp/1133205823

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/08 17:18:14
  • 終了:--

回答(2件)

id:Kumappus No.1

くまっぷす回答回数3784ベストアンサー獲得回数1852005/12/08 17:47:27

ポイント90pt

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

MSDN ライブラリ サイト移行に関する重要なお知らせ

サンプルにはいきあたらなかったのですがAPIはこれでしょう。

id:fslasht

回答ありがとうございます。

ためしてみましたが、このダイアログでの設定はアプリ単位(というより、変更値がDEVMODE構造体に戻るのみ)での設定で、Windows全体への影響は与えないようです。

ダイアログでのユーザーの操作が、そのまま全アプリに反映されるようなダイアログの開き方はあるでしょうか?

もりくは、取得したDEVMODE構造体の内容を元に、そのプリンターの印刷設定規定値(他アプリにも影響する)を変更する方法はありますか?

2005/12/08 18:28:09
id:aki73ix No.2

aki73ix回答回数5224ベストアンサー獲得回数272005/12/12 18:49:47

ポイント500pt

http://support.microsoft.com/kb/319370/JA/

Windows 2000 Service Pack 2 のインストール後、ローカル プリンタに印刷できない

ShellExecuteやCreateProcess でprintui.dllを呼び出してあげればダイアログが開けます


rundll32 printui.dll,PrintUIEntry は色々出来て便利なので覚えておくとよいかと思います(PrintUIEntryは大文字小文字区別するので気をつけてください)


ちなみに印刷設定の場合は /e /n プリンタ名となります


コマンドプロンプトから


rundll32 printui.dll,PrintUIEntry /? としてみると使えるオプションが表示されます

id:fslasht

回答ありがとうございます。

 教えていただいた方法でうまくいきました。

 あなたは天使だ!

2005/12/12 20:15:50

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません