cjs 发表于 2015-8-13 14:43:40

windows 10 下调用activex失败,如何解决

本帖最后由 cjs 于 2015-8-13 14:48 编辑

在升级windows 10 之前,win7 64x+cad2005 cad正常运行,自己编写的一个小程序也运行正常。升级之后出现了两个问题:

环境:win10 64x 专业版 +AutoCAD 2005

一、cad软件问题:
1、对cad2005必须勾选了“以管理员身份运行”才可以打开。
2、双击某dwg文件,会弹出“向程序发送命令时出错”,而且会新建一个acad进程打开dwg。

二、程序问题

VS2008 代码如下:
Dim cad As Autodesk.AutoCAD.Interop.AcadApplication
Private Sub activecad()
    On Error Resume Next
    cad = GetObject(, "AutoCAD.Application.16")
    If Err.Number <> 0 Then
      Err.Clear()
      cad = CreateObject("AutoCAD.Application.16")
      If Err.Number <> 0 Then
      MsgBox(Err.Description + Chr(13) + "程序要求的CAD版本与最近" + Chr(13) + "运行的CAD版本可能不一致 。" + Chr(13) _
      + "请运行另一版本CAD试试。", vbOKOnly + vbExclamation, "Notice:")
      cad = Nothing
      Exit Sub
      End If
    End If
    On Error GoTo 0
    cad.Visible = True
    cad.WindowState = AcWindowState.acMax
End Sub

运行时不管事先打开cad还是用代码CreateObject,都不能获取cad对象。

在不改变系统和cad版本的情况下,诸位看看有没有解决办法?

肖克军 发表于 2015-8-13 15:25:10

论坛有你更精彩,多谢楼主分享

zzyong00 发表于 2015-8-13 21:37:55

都win10了,测试不了。。。

cjs 发表于 2015-8-18 14:51:00

是权限问题吗?哪位大神对com调用的过程比较清楚,解说一下。

cjs 发表于 2015-8-27 09:54:25

“向程序发送命令时出错”问题解决,到注册表修改:

"EnableLUA"=dword:00000000
即直接关闭用户帐户控制就不会出现上述问题了,代价是win10下的所有metro app都不能用了。能不能调用activex还没测试。
页: [1]
查看完整版本: windows 10 下调用activex失败,如何解决