| 
看了大家的讨论,受益匪浅! 在VB中经过测试,确实可以把autocad软件窗口作为子窗体显示在VB窗体中,但是在VB.net2005中,每次运行到SetParent(lHwnd, Form1.Handle)时,程序就自动关闭,没有任何提示。逐步调试时,发现前面的那些语句都可以很好的执行。 我的代码如下: AcadApp = GetObject(, "AutoCAD.Application") '此时AutoCad已启动,直接得到         lHwnd = GetParent(GetParent(AcadApp.Activedocument.hwnd))         If lHwnd = 0 Then Exit Sub         AcadApp.Visible = False         AcadApp.WindowState = 2         lState = AcadApp.WindowState         GetWindowRect(lHwnd, r)         SetParent(lHwnd, Me.Handle)         'Me.ScaleMode = vbPixels         SetWindowPos(lHwnd, 0, 0, 0, Me.Width - 8, Me.Height - 8, 0)         AcadApp.Visible = True  '使AutoCad可见         acaddoc = AcadApp.Activedocument   '设acaddoc为当前图形文件         MyLayer = acaddoc.Layers         mospace = acaddoc.ModelSpace  '设mospace为当前图形文件的模型空间 那个地方之所以用Me.Handle,是因为在VB.net中窗体已经没有了hwnd属性。 查了很多资料,还是没找到原因,大家一起探讨一下这个问题呵!  |