我的电脑上装有两个打印机 一个是并口的 一个是usb口的
我如何通过程序代码随意的向这两个打印机输出文件呢?
我如何通过程序代码随意的向这两个打印机输出文件呢?
解决方案 »
- 类模块中 自定义类型 怎么做形参
- 如何用VB6来控制禁用控制面版中的显示器分辨率设置
- 如何屏蔽webbrowser的html被修改后自动弹出的保存对话框!
- 连接 server 2000得问题
- 大家看一段源码 高分
- 两个form窗口,能不能共用一个mscomm控件
- 如何判断任意点的颜色?
- 散分
- 为什么VB中显示乱码(中文)?
- 一个关于list控件的问题
- 新建一WORD文档!在其上放置1个commandbutton和30个combobox.我想实现运行后点击command!所有的combobox都添加相同的值!怎么实现????
- 在ACCESS数据库中能否用case when then end 语句??在线等,来者有分
commondialog1.showprinter()
'设置用户选择的打印机为当前打印机
set printer=commondialog1.object
Dim X As Printer
For Each X In Printers
If X.Orientation = vbPRORPortrait Then
'设定为系统缺省打印机。
Set Printer = X
' 终止查找打印机。
Exit For
End If
Next
For Each X In Printers
If X.DeviceName = "AGFA-AccuSet v52.3" Then
'设定为系统缺省打印机。
Set Printer = X
Debug.Print "缺省打印机已经设为AGFA-AccuSet v52.3"
Exit For
End If
Next
我也提供个做法
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 LongDim S As String, Length As Long, hKey As Long
S = String(80, Chr(0))
PrinterName = "你要选择的打印机名称"
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")