- 将帖子标记为未读
- 将此主题添加到书签
- 订阅此主题
- 禁止
- 订阅此主题的 RSS 提要
- 高亮显示此贴
- 打印此贴
- 标记帖子
多款打印机驱动自定义安装后,显示脱机,求大神指导!
发布时间 2025-12-19 20:45:24
社区众多大神高手们,请教一下:
我自己用VB6编写了一个自动安装驱动的小软件,win10及以前版本一直使用正常,直到一年前(大约)win10的某个版本开始:
1、安装完驱动后,能正常打印;
2、重启电脑后,打印机就不能打印,并显示脱机
3、手动设置打印机属性中的端口设置中: 去掉,启用了SNMP状态(S) 前面勾选状态,大概率就能正常使用了
4、但我手动一步一步的安装驱动,验证过,手动安装和官方安装包 安装,这个设置是可以勾选的
求教!求教!求教!
下面是部分源码:
添加端口:
sStatusMessage = "端口创建: " & sPrintIpPort
Call UpdateStatusDisplay(sStatusMessage, InfoDisplayControl)
Call AppendToLog("端口创建:", "创建新端口" & sPrintIpPort & "--开始!")
' 创建新的端口实例
Set objNewPort = objSWbemServices.Get("Win32_TCPIPPrinterPort").SpawnInstance_
' 设置协议值
iProtocolValue = IIF(UCase(sProtocol) = "RAW", 1, 2)
' 配置端口属性
With objNewPort
.name = sPrintIpPort ' 端口名称
.HostAddress = sPrintIpPort ' IP地址或主机名
.portNumber = sPortNumber ' 端口号
.Protocol = iProtocolValue ' 协议类型
.SNMPEnabled = bSNMPEnabled ' SNMP启用状态
.SNMPCommunity = sCommunity ' SNMP社区名称
End With
' 创建端口
objNewPort.Put_
sStatusMessage = "端口创建:成功! 端口 " & sPrintIpPort & " 创建完成"
Call UpdateStatusDisplay(sStatusMessage, InfoDisplayControl)
Call AppendToLog("端口创建:", "创建新端口" & sPrintIpPort & "--成功!")
SetPrinterPort = True
''''3. AddPrinterDriverEx 函数安装本地或远程打印机驱动程序,并链接配置、数据和驱动程序文件
''' 参考资料:https://learn.microsoft.com/zh-cn/windows/win32/printdocs/addprinterdriverex
添加驱动用的是:
1、AddPrinterDriverEx
如果AddPrinterDriverEx不成功,用下面的安装
2、
' 参数验证和默认值设置
If strPrintName = "" Then
strPrintName = strDevName
End If
' 构建完整的命令
sCommand = "rundll32 printui.dll,PrintUIEntry /if /b" & " """ & strPrintName & """" & " /f " & """" & strDrvInfPath & strDrvInfName & """" & " /r " & """" & strPrtIPAddress & """" & " /m """ & strDevName & """ /z"
' 执行Shell命令
求相关资料!VB6
