2011-09-15 10 views
3

職場でデフォルトの用紙サイズを定義するC#アプリケーションを配備したいと考えています。あまりにも特別なものはありません。これはwindows.win32を呼び出し、レジストリクラスを使用してレジストリに書き込むことによって機能します。プリンタページ設定を構成するためのC#アプリケーションの作成

用紙サイズと登録済みプリンタを設定するために、私は自分の最善の努力にもかかわらず、関連するレジストリエントリを見つけることができませんでした。誰も助けることができますか?

乾杯!

答えて

2

これを行うには、レジストリ設定を変更する方法がサポートされていません。

正しい方法は、DEVMODE構造を使用することです。

DocumentProperties機能の下部には、新しい設定(用紙サイズなど)を既存の設定とマージする正しい方法が記載されています。

アプリケーションの設定を変更する方法については心配しないでください。最後の手順(CreateDC)をSetPrinter関数をlevel 8に置き換えて、そのプリンタのグローバルデフォルトを変更します(またはユーザーごとのデフォルトを変更するにはレベル9を使用します)。

これは、Windows提供のヘッダーファイルを使用できるので、C++でははるかに簡単です。関係する構造は非常に複雑で、正しいp/invoke定義を得ることは非常に困難です。

0

私はあなたが望む設定が存在するとは思わない。私は一般的なsettings.My知らないこの

を見つけ

は、それはあなたが使用するアプリケーションやドライバに依存思います。少なくとも私は一部の プリンタドライバに独自のデフォルト設定(ハードコードされているか、レジストリで設定されている)があることを確認しています。 一部の設定は、* .ppdファイルによって設定されます。

[HKCU \ソフトウェア\マイクロソフト\ Windowsの\ CurrentVersionの\インターネット設定]

値:タイプ説明 PageOrientation:REG_DWORD指定のページの向きここ

はあなたと遊ぶことができるIE用プリンタの設定があります。有効な設定は、1 =ポートレート、2 =ランドスケープです。既定の設定は1です。 PrintQuality:REG_DWORD印刷品質を指定します。有効な設定は、1 =下書き、2 =下限です。デフォルト設定は1です。 PaperSize:REG_DWORD用紙サイズを指定します。有効な設定は=手紙、5 =法律、9 = A4、13 = B5.Default設定1.

http://www.pcreview.co.uk/forums/settings-dafault-paper-size-registry-t528995.html

+0

私は、悲しげに景色に残して最後の設定を覚えているブラウザはもちろん、次回は紙を無駄にすることはありませんでした。アー! – kenny

0

1れるプリンタのパラメータを変更する通常の方法は、中のWin32 DEVMODE構造によるものです印刷プロセス。ドライバ自体はデフォルト値を入力する必要があり、一般的にプロパティページから設定されます。

関連する問題