社区众多大神高手们,请教一下: 我自己用VB6编写了一个自动安装驱动的小软件,win10及以前版本一直使用正常,直到一年前(大约)win10的某个版本开始: 1、安装完驱动后,能正常打印; 2、重启电脑后,打印机就不能打印,并显示脱机 3、手动设置打印机属性中的端口设置中: 去掉,启用了SNMP状态(S) 前面勾选状态,大概率就能正常使用了 4、但我手动一步一步的安装驱动,验证过,...
查看更多...
社区众多大神高手们,请教一下: 我自己用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