none
通过浏览器调用本地exe时报object reference not set to an object RRS feed

  • 问题

  • 使用如下示例代码在浏览器中调用本地exe时遇到了些问题,希望哪位大神能给出解决方案或告知原因

    wsh   =   new   ActiveXObject('WScript.Shell');
    wsh.Run("C:\\test.exe",1,false);

    使用该方法调用的程序运行时会报object reference not set to an object,而且是在点击界面上的菜单项弹出窗口时

    直接点击exe能够正常运行


    • 已编辑 叶陶 2016年1月4日 4:00
    2016年1月4日 3:58

答案

  • 你好,

    你可以尝试下面的操作,看能不能解决你的问题。

    打开IE - Internet 选项 - Internet 自定义级别 
    对没有标记为安全的ActiveX控件进行初始化和脚本运行点启用

    IE默认是禁止调用未标记的ActiveX的,像FSO,WSH这些,因为它认为这是不安全的。

    希望能帮到你。

    Best Regards,

    Cole Wu

    2016年1月22日 8:56

全部回复

  • object reference not set to an object 这个错误是使用了空引用。就是类似于

    Car a = null;

    a.Run(); 

    只有这点信息很难判断出问题的具体位置。

    最好是使用debug版的程序运行,PDB文件也放到exe一起,这样异常信息就会告诉你哪个文件,哪行出的问题。这样有助于帮助定位问题。

    另外,直接在资源管理器中运行,是不是也有问题?


    2016年1月5日 5:14
  • 被调用的exe不是我方开发的所以没有办法进行调试,该问题只有在通过浏览器调用时才出现,其他方式启动不会出现该问题。

    2016年1月15日 7:04
  • 你好,

    你可以尝试下面的操作,看能不能解决你的问题。

    打开IE - Internet 选项 - Internet 自定义级别 
    对没有标记为安全的ActiveX控件进行初始化和脚本运行点启用

    IE默认是禁止调用未标记的ActiveX的,像FSO,WSH这些,因为它认为这是不安全的。

    希望能帮到你。

    Best Regards,

    Cole Wu

    2016年1月22日 8:56