1 / 11
文档名称:

VB中打印机选择.docx

格式:docx   大小:36KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

VB中打印机选择.docx

上传人:2105194781 2020/9/28 文件大小:36 KB

下载得到文件列表

VB中打印机选择.docx

相关文档

文档介绍

文档介绍:(1)MONDIAL控件叫CMDiag用如下代码可以使你选择的打印机成为默认打印机"Printer"==<>0ThenExitSub(2)VB里面,原本改变预设打印机的方法是:(假设安装有两种打印机(驱动程式))Set Printer = Printers(0) ' 将预设打印机设定成第一种打印机Set Printer = Printers(1) ' 将预设打印机设定成第二种打印机但实际上以上叙述有时候不会成功(原因不详),为了能够成功地改变预设打印机,以下是呼叫WindowsAPI的方法:(此一解决方案适用於Windows95,98):ConstHWND_BROADCAS=T&HFFFF&ConstWM_WININICHANGE=&H1APrivateDeclareFunctionGetProfileStringLib"kernel32"AliasString,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong)AsLong"GetProfileStringA"(ByVallpAppNameAsString,ByVallpKeyNameAsPrivateDeclareFunctionWriteProfileStringLib"kernel32"Alias"WriteProfileStringA"(ByVallpszSectionAsString,ByVallpszKeyNameAsString,ByVallpszStringAsString)AsLongPrivateDeclareFunction SendMessageLib"user32" Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny):PrinterName= "您想设定的打印机名称DimSAsString,lengthAsLong,hKeyAsLongS=String(80, Chr(0))length=GetProfileString("devices",PrinterName, "", S,Len(S))S=Left(S, length)CallWriteProfileString("windows","device", PrinterName &","&S)CallSendMessage(HWND_BROADCASTW,M_WININICHANGE,&H7FFF&,ByVal"windows")至於改变NT预设打印机的方法,则是改变登录资料库(Registry)打印机的设定,在登录资料库中纪录预设打印机的Value是:HKEY_CURRENT_USERsubkey的Devicevalue\Software\Microsoft\WindowsNT\CurrentVersion\Windows(3)VB中获取指定打印机的各种纸张类型及大小放入一个MSFlexGrid,名称为fgd1,列数为4'OptionExplicitPrivateConstDC_MAXEXTENT=5PrivateConstDC_MINEXTENT=4PrivateConstDC_PAPERNAMES=16PrivateConstDC_PAPERS=2PrivateConstDC_PAPERSIZE=3PrivateDeclareFunctionDeviceCapabilitiesLib""Alias"DeviceCapabilitiesA"(ByVallpDeviceNameAsString,ByVallpPortAsString,ByValiIndexAsLong,lpOutputAsAny,lpDevModeAsAny)AsLongPrivateTypePOINTSxAsLongyAsLongEndTypePrivateSubForm_Load()•FormatString ="A纸张编号|A纸张名称|A纸张长度|A纸张宽度”Fori=-1•ColWidth(i)=1700Nexti•AllowUserResizing=flexResizeColumns•Left==