Foxtable(狐表)用户栏目专家坐堂 → 调用第三方程序可以多线程不.


  共有3522人关注过本帖树形打印复制链接

主题:调用第三方程序可以多线程不.

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/2 10:06:00 [显示全部帖子]

自己弄一个线程执行就好。

 

全局代码

 

Public Sub thread_sub1(ByVal obj As Object)
    functions. Execute("多线程操作", obj)
End Sub

 

内部函数

 

Dim proc As new Process
proc.File = args(0)
proc.Start
proc.WaitForExit

 

调用代码

 

Dim nthread As New System.Threading.Thread(AddressOf thread_sub1)
nthread.start("notepad")


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/2 12:39:00 [显示全部帖子]

 认认真真看完2楼代码

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/2 14:19:00 [显示全部帖子]

作为参数传入。任意参数都可以

 

Dim ary() As string = {"bartend.exe", "D:\机油泵程序\公司条码.btw"}

Dim nthread As New System.Threading.Thread(AddressOf thread_sub1)
nthread.start(ary)


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/2 14:34:00 [显示全部帖子]

呃......

 

Dim ary() = args(0)

Dim Pro As New Process
Pro.File = ary(0)
Pro.Arguments = ary(1)
Pro.Start()
pro.WaitForExit

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/2 15:42:00 [显示全部帖子]

全局代码

 

Public Sub thread_sub1(ByVal obj As Object)
    functions. Execute("多线程操作", obj)
End Sub

 

内部函数

 

Do While True
    If vars("队列").Count > 0 Then
        Dim 内容 As String = vars("队列")(0)
        Dim proc As new Process
        proc.File = "notepad"
        proc.Start
        output.show(内容)
        proc.WaitForExit
        vars("队列").RemoveAt(0)
    End If
Loop

 

调用代码

 

vars("线程") = New System.Threading.Thread(AddressOf thread_sub1)
vars("队列") = new List(Of String)

vars("队列").Add("1")
vars("队列").Add("2")
vars("队列").Add("3")

vars("线程").start(Nothing)

vars("队列").Add("4")
vars("队列").Add("5")
vars("队列").Add("6")


'vars("线程").Abort '结束线程


 回到顶部