您的批评和鼓励都是我把编程无限办好的动力! 您编程时遇到困难,或遇到不顺心的事想发发牢骚尽管到这里来吧! 虽然本网力求全面,但也不能包罗万象,这些我筛选出的优秀网站连接就是对本站最好的补充! 学习编程当然也离不开书本了,这里收集大量编程书籍! 编程无限之源码超市,这里收集的代码令你意想不到的全面! 欢迎光临编程网校,这里专门收集VB/CB入门文章及技术文章! 欢迎光临编程无限!
     
       
 
当前位置:英文资料 >> System
Change The Default Printer
  资料类型: System 上传时间: 2001-02-21 阅读次数: 1069



The followong code change the default printer. It works only on Windows95.

Declare

Public Const CCHDEVICENAME = 32
Public Const CCHFORMNAME = 32
Public Const PRINTER_ATTRIBUTE_DEFAULT = &H4



Type PRINTER_INFO_5
pPrinterName As String
pPortName As String
Attributes As Long
DeviceNotSelectedTimeout As Long
TransmissionRetryTimeout As Long
End Type



Type DEVMODE
dmDeviceName As String * CCHDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCHFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type



Type PRINTER_DEFAULTS
pDatatype As String
pDevMode As DEVMODE
DesiredAccess As Long
End Type



Declare Function SetPrinter Lib "winspool.drv" Alias "SetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As PRINTER_INFO_5, ByVal Command As Long) As Long

Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As PRINTER_DEFAULTS) As Long

Code

Public Function SetDefaultPrinter(PrinterName As String) As Boolean

Dim phPrinter As Long
Dim pDefault As PRINTER_DEFAULTS
Dim pInfo5 As PRINTER_INFO_5
Dim Ret As Long

Ret = OpenPrinter(PrinterName, phPrinter, pDefault)

If phPrinter <> 0 Then

pInfo5.pPrinterName = PrinterName

pInfo5.Attributes = PRINTER_ATTRIBUTE_DEFAULT

Ret = SetPrinter(phPrinter, 5, pInfo5, 0)

If Ret <> 0 Then

SetDefaultPrinter = True

Else

SetDefaultPrinter = False

End If

Else

SetDefaultPrinter = False

End If

End Function


推荐给朋友 点 评( 0 ) 返回前页 关闭此页
   
  本类最热文章排名:
  1.Icon to tray
2.VB6 Apps and Windows Vista
3.Run Time Error Handling Code
4.Printer Control
5.Printing Binary Files
6.Validation at Control-level
7.Turns on Cap’s Lock ...
8.Mouse swap buttons
9.Mouse doubleclick time
10.Creating Screen Savers
   
   
  评论:
 
 
 

 

关于本站 版权声明 联系方法
编程无限 V4.1 Copyright © 1999-2008 21code.com

京ICP备05006938号