我的一个客户端面临这个问题,即每次尝试从exe中的打印按钮打印消息文本时,vb6 exe都会崩溃。
以下是为打印按钮编写的代码。
iRetValue = GetProfileString("windows", "device", ",,,", strBuffer, 254)
strDefaultPrinterInfo = Left(strBuffer, InStr(strBuffer, Chr(0)) -
tblDefaultPrinterInfo = Split(strDefaultPrinterInfo, ",")
Dim picount As Integer
picount = 0
For Each objPrinter In Printers
picount = picount + 1
If objPrinter.DeviceName = tblDefaultPrinterInfo(0) Then
' Default printer found !
Exit For
End If
Next
If objPrinter.DeviceName <> tblDefaultPrinterInfo(0) Then
Set objPrinter = Nothing
GoTo ExitHandler
End If
Set GetDefaultPrinter = objPrinter
txtPrintMsg.text = txtMsg.text
txtPrintMsg.SelPrint objPrinter.hDC
他们拥有的总打印机数量为700。
答案 0 :(得分:0)
GetDefaultPrinter函数返回一个bool值,同时尝试设置一个值。
然后,你的陈述: 设置GetDefaultPrinter = objPrinter 是完全错误的。
GetDefaultPrinter函数(Windows) https://msdn.microsoft.com/en-us/library/windows/desktop/dd144876(v=vs.85).aspx