win32 apiを介して、特定のプリンターで使用可能なサポートされているプリンタードキュメント機能を取得する必要があります。
私が参照しているオプションは、下の画像のサンプルプリンター用に表示されています。このダイアログを表示するには、プリンタアイコンとクリック設定を右クリックし、ダイアログの[詳細設定]タブをクリックします。
誰かが私が呼び出す必要のあるAPIの必要性を教えてもらえますか?
私はWindowsWindowsXP +をターゲットにしており、vb6を使用しています。
DeviceCapabilities関数は読み取り専用です。探しているのはDocumentProperties関数です。DeviceCapabilitiesは実際にはかなり古いものであり、単一のユーザーと単一のアプリケーションのみがプリンターを使用していることを前提としているため、かなり前に廃止されているはずです。すべての印刷ジョブにプリンタのプロパティを設定する必要はありません。現在の印刷ジョブのドキュメントプロパティを設定します。DocumentProperties関数がそれを行いますが、変更を加える方法については、上記のリンクの指示に細心の注意を払ってください。それは不必要に複雑な関数です。
あなたが探しているのはDeviceCapabilities
winspool.drvからだと思います。Microsoftのサンプルコード。現在オンラインになっているドキュメントのほとんどは.Netに関するものなので、DanApplemanのVisualBasicプログラマーズガイドからWin32APIへのVB6定義を入力しました。
VB6の宣言は次のとおりです。
Declare Function DeviceCapabilities& Lib "winspool.drv" Alias "DeviceCapabilitiesA" (ByVal lpDeviceName as String, ByVal lpPort as String, ByVal iIndex as Long, ByVal lpOutput as String, ByVal lpDeviceMode as Long)
コメントに基づいて、構造DocumentProperties
を取得または変更するため に使用する必要があります。DevMode
それはあなたが探しているものを持っているかもしれないし、持っていないかもしれません。あなたの最善の策は上記の本を手に入れることです、第12章は豊富な情報を持っています。また、ある種のPOS印刷を使用しているように見える画像を見ると、プリンターがサポートする可能性のある特定のAPIについてメーカーのドキュメントを参照する必要があります。
Declare Function DocumentProperties& Lib "winspool.drv" Alias "DocumentPropertiesA" (ByVal hwnd as Long, ByVal hPrinter as Long, ByVal pDeviceName as String, ByVal pDeviceModeOutput as Long, ByVal pDeviceModelInput as Long, ByVal fMode as Long)
DevMode構造
Public Const CCHDEVICENAME = 32
Public Const CCHFORMNAME = 32
Type DEVMODE
dmDeviceName as String * CCHDEVICENAME
dmSpecVersion as Integer
dmDriverVersion as Integer
dmSize as Integer
dmDriverExtra as Integer
dmFields as Long
dmOrientation as Integer
dmPaperSize as Integer
dmPaperLength as Integer
dmPaperWidth as Integer
dmScale as Integer
dmCopies as Integer
dmDefaultSource as Integer
dmPrintQuality as Integer
dmColor as Integer
dmDuplex as Integer
dmYResolution as Integer
dmTTOption as Integer
dmCollate as Integer
dmFormName as String * CCHFORMNAME
dpBitsPerPixel as Integer
dmBitsPerPel as Long
dmPelWidth as Long
dmPelHeight as Long
dmDisplayFlags as Long
dmDisplayFrequency as Long
dmICMMethod as Long
dmICMIntent as Long
dmMediaType as Long
dmDitherType as Long
dmReserved1 as Long
dmReserved2 as Long
End Type