| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 276 人关注过本帖
标题:又是一个双线程的问题,请教解决方法!
只看楼主 收藏
suzhanpeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:43
专家分:141
注 册:2016-9-28
结帖率:66.67%
  问题点数:0  回复次数:1   
又是一个双线程的问题,请教解决方法!
If Dir(swOldpathname, vbHidden + vbReadOnly + vbSystem) <> "" Then
            Name swOldpathname As swNewpathname
        End If
        Kill (ipath1)
        
        Set Part = swApp.OpenDoc6(swNewpathname, 3, 0, "", longstatus, longwarnings)
        swApp.ActivateDoc2 Y5, False, longstatus   '线程1:这两条是给SolidWorks图纸替换名称打开改名后的图纸,会弹出打开的通用对话框让手动选择对应的改名后零件名。
        
       '线程2:下面是通过获取句柄来让程序自动选择对应的零件名。
        hwnd = FindWindow(vbNullString, "打开 ")
        If hwnd <> 0 Then
            hWnd2 = FindWindowEx(hwnd, 0, "ComboBoxEx32", vbNullString)
            按钮1 = FindWindowEx(hwnd, 0, "Button", "打开") '获取按钮1句柄
            If hWnd2 <> 0 Then
                hWnd3 = FindWindowEx(hWnd2, 0, "ComboBox", vbNullString)
                If hWnd3 <> 0 Then
                     hWnd4 = FindWindowEx(hWnd3, 0, "Edit", vbNullString)
                     
                     If hWnd4 <> 0 Then
                        SendMessage hWnd4, WM_SETTEXT, 0, ByVal Tx2
                        PostMessage 按钮1, BM_CLICK, 0, 0 '单击按钮1
                    End If
                End If
            End If
        End If
        
        longstatus = Part.SaveAs3(swNewpathname, 0, 2)
        swApp.CloseDoc Y5 & ".SLDDRW"
问题是线程1不手动选择零件点击确定线程2不执行。求解决方法!
2017-12-02 12:35
suzhanpeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:43
专家分:141
注 册:2016-9-28
  得分:0 
双线程问题已经用activex exe方法解决,但是新问题出现了,activex exe怎么自注册,在网上找了好久也没有一个确切的说法,哪位大神懂这一方面的指点一下。
2017-12-03 09:07







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071792 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved