易语言怎么启动线程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了易语言怎么启动线程相关的知识,希望对你有一定的参考价值。
启动窗口。在窗口2点击发送按钮的时候。启动窗口和窗口2会卡住。等窗口2要发送的完后。这才恢复。想写个线程。窗口2发送的时候。启动窗口不卡这代码怎么写
启动线程可以将子程序赋值给第一个参数,强制结束线程可以将启动线程返回的句柄赋值给第一个参数。
1、新建易语言程序,在启动窗口上添加一个按钮,然后双击这个按钮进入代码区域:
2、进入代码区域后,右击代码区域空白部分,在展开的菜单中点击“新子程序”按钮创建一个新的子程序:
3、创建子程序后,使用启动线程命令,第一个参数为“&”+子程序名,然后将第三个参数返回给一个变量:
4、如果需要结束线程,可以用强制结束线程命令,参数为启动线程返回的句柄,这时可以将线程强制关闭:
参考技术A 不知道你的代码是做什么用的!打开你的多线程支持库.版本 2.支持库 EThread启动线程 (, , )
调用格式: 〈逻辑型〉 启动线程 (子程序指针 欲执行的子程序,[整数型 参数数据],[整数型变量 线程句柄]) - 多线程支持库->多线程控制
英文名称:CreateThread
创建并启动一条线程,可重复使用以创建多条线程,成功返回真,失败返回假。本命令为初级命令。
参数<1>的名称为“欲执行的子程序”,类型为“子程序指针(SubPtr)”。本参数提供创建线程时欲启动的子程序,根据是否需要传递参数数据,该子程序必须没有或具有一个整数型参数,否则将出错。
参数<2>的名称为“参数数据”,类型为“整数型(int)”,可以被省略。本参数提供线程被启动时传递到欲启动子程序的整数数据。如果本参数未被省略,此时被启动子程序必须接收一个整数型参数,否则将出错。
参数<3>的名称为“线程句柄”,类型为“整数型(int)”,可以被省略,提供参数数据时只能提供变量。如果提供了本参数,将向参数变量写入线程句柄(Windows下为HANDLE,Linux下为pthread_t),请在适当的时机关闭该句柄。如果不提供本参数接收线程句柄,内部将自动处理线程句柄。 操作系统需求: Windows、Linux 参考技术B .版本 2
.支持库 EThread.程序集 窗口程序集1
.程序集变量 句柄, 整数型.子程序 __启动窗口_创建完毕_启动窗口.可视 = 假
启动线程 (&子程序1, , 句柄)
.子程序 子程序1信息框 (“这是一个例子”, 0, )
易语言DLL注入和呼出怎么样写?
.版本 2.支持库 shell
.程序集 窗口程序集1
.程序集变量 输入法句柄
.子程序 __启动窗口_创建完毕
热键.注册 (_启动窗口.取窗口句柄 (), , #Home键, &子程序1)
输入法注DLL ()
.子程序 输入法注DLL
写到文件 (取特定目录 (10) + “\\SouGoo.ime”, #输入法)
输入法句柄 = 输入法.安装 (取特定目录 (10) + “\\SouGoo.ime”, “五笔输入法”)
.如果真 (输入法句柄 ≠ 0)
输入法.设置注入 (取特定目录 (10) + “\\Sougoo.ime”, 取运行目录 () + “\\games.dll”)
信息框 (“注入成功...” + #换行符 + “按Home键呼出!”, 0, )
窗口禁止关闭 (_启动窗口.取窗口句柄 (), 真)
.如果真结束
.子程序 子程序1
.局部变量 bool, 逻辑型
bool = 进程是否存在 (“dnf.exe”)
.如果真 (bool)
输入法.激活 (取句柄2 (“dnf.exe”, , ), 输入法句柄)
.如果真结束
.子程序 __启动窗口_将被销毁
输入法.卸载 (输入法句柄)
输入法.清除注入 (取特定目录 (10) + “\\Sougoo.ime”)
输入法.卸载 (输入法句柄) 参考技术A 程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
监视热键 (&注入DLL, #Home键, )
.子程序 注入DLL
.局部变量 钩子ID, 整数型
钩子ID = 安装钩子DLL (线程ID, “my.dll”)
.判断开始 (钩子ID ≠ 0)
信息框 (“文件成功注入游戏进程”, 0, “提示”)
.默认
信息框 (“文件未注入游戏进程”, 0, “提示”)
.判断结束
这个注入简单! 你的DLL一定要公开
以上是关于易语言怎么启动线程的主要内容,如果未能解决你的问题,请参考以下文章