乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 46|回复: 1

64位系统下vs2008如何 捕捉到ROT中CAD运行的进程?

[复制链接]

21

主题

60

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
144
发表于 2015-9-23 19:18:00 | 显示全部楼层 |阅读模式
请各位大侠帮忙:
' 启动某个版本的
    Public Function LaunchAutoCAD(ByVal progId As String, ByVal exePath As String, ByVal parentWndHandle As IntPtr) As AcadApplication
        Try
            ' 使用System.Diagnostics命名空间的类,实现AutoCAD的带参数启动
            Dim psi As New ProcessStartInfo(exePath, "")
            Dim pr As Process = Process.Start(psi)
            ' 等待AutoCAD准备好,貌似不用等CAD启动完成
            pr.WaitForInputIdle()
                While pr.MainWindowHandle = IntPtr.Zero
                System.Threading.Thread.Sleep(2000)
                pr.Refresh()
            End While
            m_appWin = pr.MainWindowHandle
            ' 使用COM方法连接到进程
            ' 无限循环直到捕捉到AutoCAD进程
            ' 如果不检查超时,或者让用户结束操作,就会有点危险
            Dim acadApp As AcadApplication = Nothing
            While acadApp Is Nothing
                Try
                    acadApp = DirectCast(System.Runtime.InteropServices.Marshal.GetActiveObject(progId), AcadApplication)
                    Thread.Sleep(1000)
                Catch ex As Exception
                    ' 让应用程序检查自身的消息队列,以防用于取消操作或者退出
                    Console.WriteLine(ex.Message)
                    Application.DoEvents()
                End Try
            End While

            ' Put it into this form
            SetParent(m_appWin, parentWndHandle)
            ' Remove border and whatnot
            SetWindowLong(m_appWin, GWL_STYLE, WS_VISIBLE)
            acadApp.Visible = True
            Return acadApp
        Catch ex As Exception
            MessageBox.Show("Cannot create or attach to AutoCAD object: " + ex.Message)
            Return Nothing
        End Try
    End Function
以上代码是 启动一个CAD ,并检查并捕捉到 CAD进程。
在vs2008  XP32系统中调试时是可以捕捉到并且能够正确返回acadApp的,
但在VS2008 win? 64位系统中调试时却不可以捕捉到,返回acadApp=Nothing,从而陷入 While 的死循环,直到出错!
高人帮忙,如何解决呢!?
盼回复!!
谢谢各位!!
回复

使用道具 举报

21

主题

60

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
144
发表于 2015-9-24 12:31:00 | 显示全部楼层
别让帖子沉了! 请各位帮忙!!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 13:24 , Processed in 0.353108 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表