AutoIt 错误 Error: 变量类型必须为对象类型("Object")解决办法
作者:桑三 日期:2012-03-22
程序打开或者执行某项操作的时候提示: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.SangSan.Cn
定义这个winmgmt的函数来做判断这个服务是否正常,如果不正常就设置为自动,然后你只需要在调用Object之前调用下这个函数即可。
至此,AutoIt 错误 Error: 变量类型必须为对象类型("Object")问题完美解决。
上一篇: 应用程序错误:应用程序正常初始化(0xc0000135)失败解决方法
下一篇: 黑客挑衅全世界3月31全球网络瘫痪?
文章来自: 源于网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: 技术 电脑 资源共享
相关日志: