找回密码
 加入
搜索
查看: 4513|回复: 7

[系统综合] 【已解决】打印机改名问题求助 - 答案在5楼

  [复制链接]
发表于 2012-4-25 18:49:53 | 显示全部楼层 |阅读模式
本帖最后由 touch_xu 于 2012-4-28 18:46 编辑


看到论坛许多关于打印操作的方法及UDF, 好像没有看到关于打印机改名,求解中,比如如何将上图中打印名称改为Printer呢,谢谢!

附上网上找到的VBS版

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-4-25 19:31:17 | 显示全部楼层
如果不是网络打印机的话,自己可以试试注册表
 楼主| 发表于 2012-4-25 20:09:29 | 显示全部楼层
这个可以试试,应该有现成的函数吧,期待
发表于 2012-4-26 10:25:14 | 显示全部楼层
注册表里可以实现好像。。。
发表于 2012-4-26 10:48:26 | 显示全部楼层
_renameprinter("123","456")

Func _renameprinter($old,$new)
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Printer", "WQL")
   For $objItem In $colItems
        If $objItem.Name = $old Then
                        $objItem.renameprinter($new)
                EndIf
 
   Next
EndFunc

评分

参与人数 1金钱 +10 收起 理由
user3000 + 10 good job!

查看全部评分

 楼主| 发表于 2012-4-26 19:50:17 | 显示全部楼层
502762378 发表于 2012-4-26 10:48



    总是有高人出现,太感谢了,测试发现对大小写不敏感,因我就必须要区分这个,比如我想将printer改为Printer就怎么都改不成功,看不懂WMI,请大家继续帮忙,十分感谢!
发表于 2012-4-26 20:04:12 | 显示全部楼层
回复 6# touch_xu

试一试用:
Chr(80) & Chr(114) & Chr(105) & Chr(110) & Chr(116) & Chr(101) & Chr(114)
代替 $new 变量!
以上字符串 == Printer
 楼主| 发表于 2012-4-26 20:16:03 | 显示全部楼层
回复  touch_xu

试一试用:
Chr(80) & Chr(114) & Chr(105) & Chr(110) & Chr(116) & Chr(101) & Chr( ...
user3000 发表于 2012-4-26 20:04



    谢谢帮忙,不过这样也不行,也没有反应;
   只有中转一下,有一种方法是先改为其它名(如temp),然后再改为Printer,应该有比较好的方法。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 13:20 , Processed in 0.091828 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表