易语言如何终止一个正在执行的易语言子程序?

易语言如何终止一个正在执行的易语言子程序?,第1张

通过多进程来实现,用这两个命令:\x0d\x0a\x0d\x0a调用格式: 〈逻辑型〉 启动线程子程序指针 欲执行的子程序,[整数型 参数数据],[整数型变量 线程句柄]) - 多线程支持库->多线程控制\x0d\x0a英文名称:CreateThread\x0d\x0a创建并启动一条线程,可重复使用以创建多条线程,成功返回真,失败返回假。本命令为初级命令。\x0d\x0a参数的名称为“欲执行的子程序”,类型为“子程序指针(SubPtr)”。本参数提供创建线程时欲启动的子程序,根据是否需要传递参数数据,该子程序必须没有或具有一个整数型参数,否则将出错。\x0d\x0a参数的名称为“参数数据”,类型为“整数型(int)”,可以被省略。本参数提供线程被启动时传递到欲启动子程序的整数数据。如果本参数未被省略,此时被启动子程序必须接收一个整数型参数,否则将出错。\x0d\x0a参数的名称为“线程句柄”,类型为“整数型(int)”,可以被省略,提供参数数据时只能提供变量。如果提供了本参数,将向参数变量写入线程句柄(Windows下为HANDLE,Linux下为pthread_t),请在适当的时机关闭该句柄。如果不提供本参数接收线程句柄,内部将自动处理线程句柄。\x0d\x0a\x0d\x0a *** 作系统需求: Windows、Linux\x0d\x0a————————————————————————————————————————\x0d\x0a调用格式: 〈逻辑型〉 关闭线程句柄 (整数型 线程句柄) - 多线程支持库->多线程控制\x0d\x0a英文名称:CloseThreadHandle\x0d\x0a返回真表示已成功关闭线程句柄。在Linux下,如果线程已经结束,本命令可能返回假。本命令为初级命令。\x0d\x0a参数的名称为“线程句柄”,类型为“整数型(int)”。可通过“启动线程”的第三个参数获取线程句柄。\x0d\x0a\x0d\x0a *** 作系统需求: Windows、Linux\x0d\x0a======================================================================\x0d\x0a按F1关闭线程,要注册热键:\x0d\x0a\x0d\x0a调用格式: 〈整数型〉 注册热键 (整数型 窗口句柄,整数型 标签句柄,整数型 功能键,整数型 主热键) - 扩展功能支持库一->热键功能\x0d\x0a英文名称:RegHotKey\x0d\x0a注册系统热键,返回一个热键标识,失败返回0。本命令为初级命令。\x0d\x0a参数的名称为“窗口句柄”,类型为“整数型(int)”。窗口句柄。\x0d\x0a参数的名称为“标签句柄”,类型为“整数型(int)”。使用标签的反馈事件来接受热键,反馈事件中的第一个参数为热键标识,第二个参数无效。\x0d\x0a参数的名称为“功能键”,类型为“整数型(int)”,初始值为“0”。可以为:0-无功能键;1-CTRL键状态;2-SHIFT键状态;4-ALT键状态或各键状态值之和。\x0d\x0a参数的名称为“主热键”,类型为“整数型(int)”。键代码,可以使用易语言中的键代码常量。\x0d\x0a\x0d\x0a *** 作系统需求: Windows

1、时钟的原理是周期创建线程来执行子程序,每次执行完一次子程序后,就判断周期是否为0,不为0就等待周期时间结束,然后再次创建线程,以此循环,所以说当设置时钟为0时,它还是会执行完当前子程序的。

2、副作用是子程序没被执行完就停止执行。

不要这样,用线程

.版本 2

.支持库 EThread

.支持库 shellEx.程序集 窗口程序集1

.程序集变量 id

.程序集变量 热键标识.子程序 _按钮1_被单击启动线程 (&子程序A, , id).子程序 子程序A编辑框1.加入文本 (“我就是一个线程” + #换行符)

子程序A ().子程序 __启动窗口_创建完毕热键标识 = 注册热键 (取窗口句柄 (), 标签1.取窗口句柄 (), 0, #Tab键).子程序 _标签1_反馈事件, 整数型

.参数 参数一, 整数型

.参数 参数二, 整数型.如果真 (参数一 = 热键标识)

强制结束线程 (id)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7787028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存