| 
 | 
	
 
 本帖最后由 ViewTran 于 2018-8-19 17:14 编辑  
 
大漠多线程绑定多窗口同时操作,绝对的新手福利!很多新手不懂多窗口同时操作,这里就给大家讲一下 
先说下思路吧! 
假如我们有2个窗口,先枚举出2个窗口句柄 
然后分割字符串并得到窗口的数量(2) 
然后创建主线程,把窗口数量传参,这里窗口数量值(2) 
还要把数量存入dm数组,方便后面创建多个大漠对象。不然无法同时操作多个窗口。这里很重要。- 字符串 = 枚举窗口("Notepad", 1)
 
 -     窗口数量 = 字符串分割(字符串, "|", 窗口句柄数组)
 
 -     如果(窗口数量 > 0)
 
 -         主线程ID = 线程开启("主线程", 窗口数量)
 
 -         数组增加元素(dm, 窗口数量, null)
 
 -     否则
 
 -         消息框("获取窗口失败!", "提示")
 
 -         结束
 
  复制代码 
然后在主线程里面遍历并创建了2个子线程,每一个子线程操作一个窗口,所以我们要把线程句柄存入到线程句柄数组,方便后面单独操作窗口。- 功能 主线程(数量)
 
 -     遍历(变量 i = 0; i < 数量; i++)
 
 -         线程句柄数组[i] = 线程开启("子线程", i)
 
 -         变量 线程句柄 = 线程句柄数组[i]
 
 -         数组增加元素(线程句柄数组, 线程句柄, i)
 
 -     结束
 
 - 结束
 
  复制代码 
 
然后就是子线程,里面包含了绑定窗口和操作功能。这里的下标是主线程遍历出的值,第一个子线程的值是0,第二个子线程的值是1。 
- 功能 子线程(下标)
 
 -         绑定窗口(下标)
 
 -         操作(下标)
 
 - 结束
 
  复制代码 绑定窗口就是创建大漠对象,并绑定相应的窗口句柄。注意代码里的[下标],这里值就是各个数组里面的下标。- 功能 绑定窗口(下标)
 
 -         变量 窗口句柄, dm_ret
 
 -     
 
 -         窗口句柄 = 窗口句柄数组[下标]
 
 -         //    调试输出(窗口句柄)
 
 -         如果(窗口句柄 > 0)
 
 -                 dm[下标] = com("dm.dmsoft")
 
 -                 dm_ret = dm[下标].BindWindow(窗口句柄, "gdi", "windows3", "windows", 0)
 
 -                     如果(dm_ret == 1)
 
 -                             调试输出("绑定窗口成功: " & 窗口句柄)
 
 -                     否则
 
 -                             调试输出("绑定窗口失败!")
 
 -                     结束
 
 -         结束
 
 - 结束
 
  复制代码 
 
建议新手把每个功能都封装成一个子程序,方便调用也方便调试和维护 
切记不要把创建线程放在循环里! 
切记不要把创建线程放在循环里! 
切记不要把创建线程放在循环里! 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册  
 
x
 
 
评分
- 
查看全部评分
 
 
 
 
 
 |