youaremysky 发表于 2022-3-6 17:21

按键精灵多线程的一个问题

本帖最后由 youaremysky 于 2022-3-6 17:26 编辑

按键精灵里面,多线程的一个问题.我想在命令库里面把主程序停掉,但是主程序的序号参数传不进命令库里,请问大佬有没有办法让他不执行不想执行的部分呢??

二楼的代码

youaremysky 发表于 2022-3-6 17:24

Dimenv 主程序的序号
Event Form1.Button1.Click
    主程序的序号 = BeginThread(主程序)
End Event
Sub 主程序()
    Call Lib.命令库.一个判断命令()
    //下面的命令我不想让他执行
    MessageBox "可惜还是执行了"   
End Sub


命令库里的函数是
sub 一个判断命令()
    a=1

    If a = 1 Then
    StopThread(主程序的序号)
    end if
end sub

cheng050231 发表于 2022-3-6 20:53

在程序里面做个全局变量,然后在一个判断命令() 里面 设置变量a的值   在主程序里面做个 if的判断,如果某个参数 a=0 则 跳出主程序的 for循环

huiye123 发表于 2022-3-7 08:59

楼上正解。,就循环体里面判断变量值。如果为0 则睡眠n秒。然后直到你把n设置为1 的时候循环体下次判断为1 则继续执行这也

youaremysky 发表于 2022-3-7 10:02

大概懂了,意思就是在主程序里再设置一个多线程,随时关注a的值,然后停止主程序.但是我估计不行,不知道为什么,我设置的"Dimenv 主程序的序号"这是一个环境变量,它都不能互相在主程序和命令库里传递,a估计也传递不了

yl321321 发表于 2022-5-31 01:30

Global a放在第一行就行
页: [1]
查看完整版本: 按键精灵多线程的一个问题