改变 Windows 预设的打印机
Set Printer = Printers(0) ' 将预设打印机设定成第一种打印机
Set Printer = Printers(1) ' 将预设打印机设定成第二种打印机
Set Printer = Printers(0) ' 将预设打印机设定成第一种打印机
Set Printer = Printers(1) ' 将预设打印机设定成第二种打印机
解决方案 »
- 急求~~两个listbox,一个盛放字体名,另一个会出现相对应的字体
- 关于由chrb(177) &chrb(178) &chrb(179) &chrb(176)产生的字符串插入ACCESS数据库时,与插入SQLSERVER的nvarchar字段中值不同的现象?
- MediaPlayer的版本问题
- 一小段代码,请来看看
- 制作VB程序的安装程序,要求用户安装时输入序列号,用什么软件可以实现?
- 再提修改PE图标!!!!CSDN中真的没有牛人了吗?
- 怎么才能知道excel文件中有多少条记录?
- 弱了点....请问怎么样在字符串变量中包含 " 字符?
- 初学者提问~~~一个小问题
- 一个关于数组的简单问题
- 为什么找不到服务器?
- DATA REPORT直接从窗体里取数据打印???
1. API 的声明:
Const HWND_BROADCAST = &HFFFF&
Const WM_WININICHANGE = &H1A
Private 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 Long
Private Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
注:如果以上的声明放在「一般模块」底下, 应在 Const 之前加上 Public 保留字, 并且将 Private 保留字去掉。
2. 程序范例:
PrinterName = "您想设定的打印机名称"
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)如你可以:
PrinterName = "FinePrint pdfFactory Pro"