プリンタのプロパティダイアログを表示          <TOP>


接続されている 既知のプリンタ 名を明示的に指定してプロパティダイアログを表示します。

OpenPrinter プリンタオブジェクトをオープン

PrinterProperties プリンタ設定ダイアログ表示

ClosePrinter プリンタオブジェクトを閉じる

 

 

 

'================================================================
'= プリンタのプロパティダイアログを表示
'= プリンタ名を明示的に指定した場合
'=    (PrinterProperties2.bas)
'================================================================
#include "Windows.bi"

' プリンタオブジェクトをオープン
Declare Function Api_OpenPrinter& Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName$, phPrinter&, pDefault As Any)

' プリンタ設定ダイアログ表示
Declare Function Api_PrinterProperties& Lib "winspool.drv" Alias "PrinterProperties" (ByVal hWnd&, ByVal hPrinter&)

' プリンタオブジェクトを閉じる
Declare Function Api_ClosePrinter& Lib "winspool.drv" Alias "ClosePrinter" (ByVal hPrinter&)

Var Shared Edit1 As Object
Var SHared Button1 As Object

Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'= DevName:既知のプリンタ名
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var DevName As String
    Var hPrinter As Long
    Var Ret As Long

    DevName = Edit1.GetWindowText

    'プリンタオブジェクトオープン
    Ret = Api_OpenPrinter(DevName, hPrinter, ByVal 0)
   
    If Ret <> 0 Then
        'プリンタ設定ダイアログ表示
        Ret = Api_PrinterProperties(GethWnd, hPrinter)
      
        'プリンタオブジェクトを閉じる
        Ret = Api_ClosePrinter(hPrinter)
    End If
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End