Dim Prn as Printer For Each Prn In Printers Combo1.AddItem Prn.DeviceName Next Prn Set Printer = trim(Combo1.Text)
'API函数声明 Const HWND_BROADCAST = &HFFFF& Const WM_WININICHANGE = &H1APrivate Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As LongPrivate Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Sub btnChangePrinter_Click() PrinterName = Text1.Text '您想设定的打印机名称 Dim S As String, length As Long, hKey As Long
S = String(80, Chr(0)) length = GetProfileString("devices", PrinterName, "", S, Len(S)) S = Left(S, length)
'API函数声明 Const HWND_BROADCAST = &HFFFF& Const WM_WININICHANGE = &H1APrivate Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As LongPrivate Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Sub btnChangePrinter_Click() PrinterName = Combo1.Text '您想设定的打印机名称 Dim S As String, length As Long, hKey As Long
S = String(80, Chr(0)) length = GetProfileString("devices", PrinterName, "", S, Len(S)) S = Left(S, length)
Call WriteProfileString("windows", "device", PrinterName & "," & S) Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, &H7FFF&, ByVal "windows")End SubPrivate Sub Form_Load() Dim Prn As Printer For Each Prn In Printers Combo1.AddItem Prn.DeviceName Next Prn Combo1.ListIndex = 0 End Sub
Dim Prn as Printer
For Each Prn In Printers
Combo1.AddItem Prn.DeviceName
Next Prn
Set Printer = trim(Combo1.Text)
Const HWND_BROADCAST = &HFFFF&
Const WM_WININICHANGE = &H1APrivate Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As LongPrivate Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Sub btnChangePrinter_Click() PrinterName = Text1.Text '您想设定的打印机名称
Dim S As String, length As Long, hKey As Long
S = String(80, Chr(0))
length = GetProfileString("devices", PrinterName, "", S, Len(S))
S = Left(S, length)
Call WriteProfileString("windows", "device", PrinterName & "," & S)
Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, &H7FFF&, ByVal "windows")End Sub
Const HWND_BROADCAST = &HFFFF&
Const WM_WININICHANGE = &H1APrivate Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As LongPrivate Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Sub btnChangePrinter_Click() PrinterName = Combo1.Text '您想设定的打印机名称
Dim S As String, length As Long, hKey As Long
S = String(80, Chr(0))
length = GetProfileString("devices", PrinterName, "", S, Len(S))
S = Left(S, length)
Call WriteProfileString("windows", "device", PrinterName & "," & S)
Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, &H7FFF&, ByVal "windows")End SubPrivate Sub Form_Load()
Dim Prn As Printer
For Each Prn In Printers
Combo1.AddItem Prn.DeviceName
Next Prn
Combo1.ListIndex = 0
End Sub