VBS脚本适用于XP 32位但不适用于7 64位

时间:2011-01-06 20:28:50

标签: windows-7 scripting vbscript

这个脚本(对Rob van der Woude之一的修改)在XP 32位上工作正常,但在Set objDialog = CreateObject( "UserAccounts.CommonDialog" )的7 64位上失败,类似于错误(从荷兰语翻译){ {1}}。是否有一些不同的方法可以让它与Windows 7兼容?

ActiveX cannot create the object "UserAccounts.CommonDialog"

2 个答案:

答案 0 :(得分:3)

网上有一些证据表明Windows Vista(因此,Windows 7)未提供“UserAccounts.CommonDialog”。

例如,请参阅http://www.msghelp.net/showthread.php?tid=88579

该主题中的最后一个条目建议使用MSComDlg.CommonDialog,但有一些注意事项或使用GetOpenFileName API。

如果不是这样,那么检查您的注册表,并在执行CreateObject时检查脚本在ProcMon中的操作。您可能遇到“位数”问题,其中您的脚本在64位进程中运行但尝试访问32位COM对象。如果是这种情况,您将在CreateObject(“WScript.Shell”)上看到错误。

答案 1 :(得分:0)

也许您需要重新注册comdlg32.dll? Reference