AutoIt 错误 Error: 变量类型必须为对象类型(“Object”)解决办法

程序打开或者执行某项操作的时候提示:AutoIt 错误 Error: 变量类型必须为对象类型(“Object”),导致程序错误无法继续运行。很明显这表明了程序是AU3编辑的,那么解决方法自然就要从程序作者和用户两个方面进行解决。今天桑三博客就给大家分析下这个问题,从作者和用户的角度教大家如何解决Error: 变量类型必须为对象类型(“Object”)的问题。
从这个错误的提示中,很明显给了我们两个信息:AutoIt和Object。
        AutoIt也就是AU3,这是一个脚本编程工具,由此可见,提示错误的这个程序是AU3编写。了解更多查看AutoIt的官网介绍:http://www.autoitscript.com/
        Object是一些相关的变量和方法的软件集,在程序主要表现为WMI(一项核心的Windows管理技术)的调用。了解更多可查看微软官方介绍: http://technet.microsoft.com/zh-cn/library/ee692772.aspx
        既然知道了这些,那么解决问题自然就简单多了。首先如果你是用户,也就是程序的使用者,那么只能从WMI上去寻求解决方法了。WMI是全称是Windows Management Instrumentation (Windows 管理规范),是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。WMI 通过编程和脚本语言为日常管理提供了一条连续一致的途径。而系统里也有一个服务显示名称为Windows Management Instrumentation,显示名称为winmgmt。如果这个服务被禁用导致无法启动,那么自然而然WMI就相关的都无法运行, Object也就出现了错误无法获得。

        因此,如果你是用户的话,那么直接到开始-》设置-》控制面板-》管理工具-》服务里找到Windows Management Instrumentation,双击它把启动类型改成“自动”即可。

        通过上述设置,程序应该就不会有Object错误了。反过来,如果你是程序的作者,那么就应该在程序条用Object的前做一个判断,检查winmgmt这个服务是不是被禁用或者手动了。如果这个服务不是自动的,那么就设置它为自动即可。各个编程语言的设置方法可能有所不同,但思路是一样的。下面桑三博客就给大家示范下AU3语言中的方法:
Func winmgmt() 
 Local $SERVICETEST = ObjGet("winmgmts:\\.\root\cimv2") 
 If @error Then 
 _RunDOS("sc config winmgmt start= auto") 
 EndIf 
EndFunc ;==>winmgmt 永恒心锁 www.yhxs3344.net
定义这个winmgmt的函数来做判断这个服务是否正常,如果不正常就设置为自动,然后你只需要在调用Object之前调用下这个函数即可。
          至此,AutoIt 错误 Error: 变量类型必须为对象类型(“Object”)问题完美解决。
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容