通常使うプリンタ名を取得          <TOP>


iniファイルから「通常使うプリンタ」名を取得します。

GetProfileString WIN.INIから文字列を取得
 

参照

通常使うプリンタを設定

 

'================================================================
'= 通常使うプリンタ名を取得
'=   (GetDefaultPrinter.bas)
'================================================================
#include "Windows.bi"

' WIN.INIから文字列を取得
Declare Function Api_GetProfileString& Lib "Kernel32" Alias "GetProfileStringA" (ByVal lpAppName$, ByVal lpKeyName$, ByVal lpDefault$, ByVal lpReturnedString$, ByVal nSize&)

Var Shared Text1 As Object
Var Shared Button1 As Object

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

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var SectionName As String
    Var KeyName As String
    Var DefaultStr As String
    Var Buffer As String * 1024
    Var Length As Long
    Var RtnLength As Long

    'セクションを指定
    SectionName = "windows"

    'キーを指定
    KeyName = "device"

    'デフォルト値を指定
    DefaultStr = ",,,"

    'バッファの長さを指定
    Length = Len(Buffer)

    '値を取得
    RtnLength = Api_GetProfileString(SectionName, KeyName, DefaultStr, Buffer, Length)

    '取得した値からプリンタ名を表示
    Text1.SetWindowtext Left$(Buffer, InStr(Buffer, ",") - 1)
End Sub

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