ここで開いて欲しいダイアログは、アプリ単位での設定画面ではなく、Windows全体に影響を及ぼすほうのダイアログです(プリンタアイコンを右クリックしてメニューから「印刷設定」を選んで表示するダイアログ)。
VisualC++6.0でWindows2000/XP上で動くプログラムを開発しています。
/
「プロパティ」を開く方法については、前回の質問で上手く行きました。(いわしにサンプルコードを投稿しました)
http://www.hatena.ne.jp/1133205823
http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...
MSDN ライブラリ サイト移行に関する重要なお知らせ
サンプルにはいきあたらなかったのですがAPIはこれでしょう。
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 /? としてみると使えるオプションが表示されます
回答ありがとうございます。
教えていただいた方法でうまくいきました。
あなたは天使だ!
回答ありがとうございます。
ためしてみましたが、このダイアログでの設定はアプリ単位(というより、変更値がDEVMODE構造体に戻るのみ)での設定で、Windows全体への影響は与えないようです。
ダイアログでのユーザーの操作が、そのまま全アプリに反映されるようなダイアログの開き方はあるでしょうか?
もりくは、取得したDEVMODE構造体の内容を元に、そのプリンターの印刷設定規定値(他アプリにも影響する)を変更する方法はありますか?