找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24488|回复: 8

[问题求助] [已解决]VBS提示“缺少对象:number” 添加变态密码

[复制链接]
发表于 2015-4-17 00:58:26 | 显示全部楼层 |阅读模式
反复看来不知道那里出错了
以下是vbs脚本
  1.   strComputer   =   "."   
  2.   strOut   =   ""   
  3.   Set   objWMIService   =   GetObject("winmgmts:"   _   
  4.           &   "{impersonationLevel=impersonate}!\"   &   strComputer   &   "\root\cimv2")     
  5.   Set   colDiskDrives   =   objWMIService.ExecQuery   _           
  6.           ("Select   *   from   Win32_DiskDrive")   
  7.   For   each   objDiskDrive   in   colDiskDrives   
  8.         strOut   =   strOut   &   "   "   &   vbTab   &     objDiskDrive.Signature   
  9.   Next   
  10.   Wscript.Echo    strOut-strOut-strOut '这里是硬盘的序列号(去掉 - 号) 这句可以不用

  11. dim a,s
  12. s=0 '设置计数器
  13. set m   =   strOut-strOut-strOut-3*7 '工具硬盘序列号 添加复杂一点的密码
  14. do
  15. a=inputbox("请输入暗码")
  16. if a=m then
  17. msgbox "认证成功"
  18. exit do
  19. else
  20. if s=1 then '设置认证次数为1
  21. msgbox "已经达到认证上限, 认证程序关闭"
  22. exit do
  23. else
  24. s=s+1 '注意:这一句是赋值句,要从右往左读,即每出错一次就把s加上1,然后再放回s里面,使得这个变量加1
  25. msgbox "认证出错, 请检查暗码"
  26. end if
  27. end if
  28. loop
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2015-4-17 01:00:52 | 显示全部楼层
求vbs大哥帮忙修改下 原意10元QQ币做谢谢
发表于 2015-4-17 06:53:42 | 显示全部楼层
本帖最后由 pcl_test 于 2015-4-17 07:20 编辑

错误主要在以下两句
  1. Wscript.Echo strOut-strOut-strOut
复制代码
  1. set m = strOut-strOut-strOut-3*7
复制代码
如果strOut是作为字符类型,那么Wscript.Echo strOut&"-"&strOut&"-"&strOut和m = strOut&"-"&strOut&"-"&strOut&"-"&CStr(3*7)
发表于 2015-4-17 07:00:56 | 显示全部楼层
14行把set去掉
set用于对象赋值
发表于 2015-4-17 07:25:44 | 显示全部楼层
  1. strOut = ""
  2. s = 0

  3. For each i in GetObject("winmgmts:").InstancesOf("Win32_DiskDrive")
  4.     strOut = strOut & i.Signature
  5. Next

  6. m = (strOut - 3) * 7    '复杂密码
  7. Wscript.Echo "硬盘的序列号串:" & strOut
  8. Wscript.Echo "复杂密码:" & m

  9. do
  10.     a = inputbox("请输入暗码")
  11.     if a = m then
  12.         msgbox "认证成功"
  13.         exit do
  14.     else
  15.         if s = 1 then '设置认证次数为1
  16.             msgbox "已经达到认证上限, 认证程序关闭"
  17.             exit do
  18.         else
  19.             s = s + 1
  20.             msgbox "认证出错, 请检查暗码"
  21.         end if
  22.     end if
  23. loop
复制代码
 楼主| 发表于 2015-4-17 12:10:07 | 显示全部楼层
回复 5# czjt1234


    貌似你的最后不能调用加密的 提示密码不对
发表于 2015-4-17 12:54:20 | 显示全部楼层
  1. strOut = ""
  2. s = 0

  3. For each i in GetObject("winmgmts:").InstancesOf("Win32_DiskDrive")
  4.     strOut = strOut & i.Signature
  5. Next

  6. m = (strOut - 3) * 7    '复杂密码
  7. Wscript.Echo "硬盘的序列号串:" & strOut
  8. Wscript.Echo "复杂密码:" & m

  9. do
  10.     a = inputbox("请输入暗码")
  11.     if a = Cstr(m) then
  12.         msgbox "认证成功"
  13.         exit do
  14.     else
  15.         if s = 1 then '设置认证次数为1
  16.             msgbox "已经达到认证上限, 认证程序关闭"
  17.             exit do
  18.         else
  19.             s = s + 1
  20.             msgbox "认证出错, 请检查暗码"
  21.         end if
  22.     end if
  23. loop
复制代码
刚才没测试,这次测试过了

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-4-17 22:57:07 | 显示全部楼层
回复 3# pcl_test


   
    特别感谢您 你是一个分享快乐的人 为表示感谢  帮助我的人有2个 你和****1234 请留下QQ 每人5QB 望不要嫌弃
 楼主| 发表于 2015-4-17 22:57:43 | 显示全部楼层
回复 7# czjt1234


      特别感谢您 你是一个分享快乐的人 为表示感谢  帮助我的人有2个 你和另外一个人  请留下QQ 每人5QB 望不要嫌弃
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:27 , Processed in 0.013768 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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