TC官方合作论坛

 找回密码
 立即注册
查看: 14001|回复: 12

[TC5.0源码] 大漠多线程绑定多窗口同时操作

  [复制链接]
发表于 2018-8-19 02:34:34 | 显示全部楼层 |阅读模式
本帖最后由 ViewTran 于 2018-8-19 17:14 编辑

大漠多线程绑定多窗口同时操作,绝对的新手福利!很多新手不懂多窗口同时操作,这里就给大家讲一下
先说下思路吧!
假如我们有2个窗口,先枚举出2个窗口句柄
然后分割字符串并得到窗口的数量(2)
然后创建主线程,把窗口数量传参,这里窗口数量值(2)
还要把数量存入dm数组,方便后面创建多个大漠对象。不然无法同时操作多个窗口。这里很重要。
  1. 字符串 = 枚举窗口("Notepad", 1)
  2.     窗口数量 = 字符串分割(字符串, "|", 窗口句柄数组)
  3.     如果(窗口数量 > 0)
  4.         主线程ID = 线程开启("主线程", 窗口数量)
  5.         数组增加元素(dm, 窗口数量, null)
  6.     否则
  7.         消息框("获取窗口失败!", "提示")
  8.         结束
复制代码

然后在主线程里面遍历并创建了2个子线程,每一个子线程操作一个窗口,所以我们要把线程句柄存入到线程句柄数组,方便后面单独操作窗口。
  1. 功能 主线程(数量)
  2.     遍历(变量 i = 0; i < 数量; i++)
  3.         线程句柄数组[i] = 线程开启("子线程", i)
  4.         变量 线程句柄 = 线程句柄数组[i]
  5.         数组增加元素(线程句柄数组, 线程句柄, i)
  6.     结束
  7. 结束
复制代码


然后就是子线程,里面包含了绑定窗口和操作功能。这里的下标是主线程遍历出的值,第一个子线程的值是0,第二个子线程的值是1。
  1. 功能 子线程(下标)
  2.         绑定窗口(下标)
  3.         操作(下标)
  4. 结束
复制代码
绑定窗口就是创建大漠对象,并绑定相应的窗口句柄。注意代码里的[下标],这里值就是各个数组里面的下标。
  1. 功能 绑定窗口(下标)
  2.         变量 窗口句柄, dm_ret
  3.    
  4.         窗口句柄 = 窗口句柄数组[下标]
  5.         //    调试输出(窗口句柄)
  6.         如果(窗口句柄 > 0)
  7.                 dm[下标] = com("dm.dmsoft")
  8.                 dm_ret = dm[下标].BindWindow(窗口句柄, "gdi", "windows3", "windows", 0)
  9.                     如果(dm_ret == 1)
  10.                             调试输出("绑定窗口成功: " & 窗口句柄)
  11.                     否则
  12.                             调试输出("绑定窗口失败!")
  13.                     结束
  14.         结束
  15. 结束
复制代码


建议新手把每个功能都封装成一个子程序,方便调用也方便调试和维护

切记不要把创建线程放在循环里!
切记不要把创建线程放在循环里!
切记不要把创建线程放在循环里!

















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 4威望 +22 金币 +22 收起 理由
lucky + 1 + 1 感谢分享!
我喜欢TC + 10 + 10 很给力!
shinid82101 + 1 + 1 很给力!
ws1648 + 10 + 10 很给力!

查看全部评分

回复

使用道具 举报

发表于 2018-8-19 11:47:07 | 显示全部楼层
36+5262
回复

使用道具 举报

发表于 2018-8-19 15:54:13 | 显示全部楼层
66666666666666666
回复 支持 反对

使用道具 举报

发表于 2018-8-20 00:08:20 | 显示全部楼层
楼主辛苦了,给楼主点赞
回复 支持 反对

使用道具 举报

发表于 2018-8-21 17:10:12 | 显示全部楼层
听说多线程还要加守护线程,楼主大神能告诉我们怎么写吗?
回复 支持 反对

使用道具 举报

发表于 2018-11-19 04:15:27 | 显示全部楼层
只能说这波操作非常66666
回复 支持 反对

使用道具 举报

发表于 2018-12-7 22:10:46 | 显示全部楼层
怎样实现向不同窗口输入不同内容啊
回复 支持 反对

使用道具 举报

发表于 2020-8-9 15:02:41 | 显示全部楼层
感谢楼主分享!!!
回复 支持 反对

使用道具 举报

发表于 2022-4-11 06:35:37 | 显示全部楼层
感谢楼主分享!
回复 支持 反对

使用道具 举报

发表于 2022-4-18 12:31:56 | 显示全部楼层
感谢楼主分享~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-16 12:29 , Processed in 0.046870 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表