TC官方合作论坛
标题:
请高手指点下我这样去控制多个窗口行的通吗?
[打印本页]
作者:
f45601535
时间:
2012-8-18 22:27
标题:
请高手指点下我这样去控制多个窗口行的通吗?
1 首先我设置2个热键 分别用鼠标句柄给他们重命名
2 然后我在开始按钮里写上找到窗口的代码并让他们移动,但是不成功
请高手指点下哪里出了问题,还是我这种想法根本就行不通呢?!
下面是自己写的代码:
空间 移动窗口
//定义默认空间
字符型 记事本1,记事本2
功能 逻辑型 开始_点击()
//这里添加你要执行的代码
整型 窗口句柄=窗口.找到窗口(记事本1)
窗口.设置位置(窗口句柄,10,10)
辅助.等待(1000)
窗口句柄=窗口.找到窗口(记事本2)
窗口.设置位置(窗口句柄,10,10)
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
//函数返回语句
功能结束
功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
辅助.等待(3000)
整型 鼠标窗口=窗口.鼠标所在窗口句柄()
字符型 标题=窗口.得到标题(鼠标窗口)
整型 窗口句柄=窗口.找到窗口(标题)
窗口.设置标题(窗口句柄,"记事本1")
返回 真
功能结束
功能 逻辑型 热键1_热键()
//这里添加你要执行的代码
辅助.等待(3000)
整型 鼠标窗口=窗口.鼠标所在窗口句柄()
字符型 标题=窗口.得到标题(鼠标窗口)
整型 窗口句柄=窗口.找到窗口(标题)
窗口.设置标题(窗口句柄,"记事本2")
返回 真
功能结束
空间结束
//空间结束语句
作者:
梦里只影向你
时间:
2012-8-18 22:43
直接用枚举窗口就可以了
string 遍历句柄串 = dm.EnumWindow(0,"文本文档","",1+4+8+16)
if(遍历句柄串!="")
string[] 单个窗口句柄
字符串.分割(遍历句柄串,",",单个窗口句柄)
数组.大小(单个窗口句柄,c)
int i=0
int w=0
int h=0
窗口句柄=int[c]
while(i<c)
窗口句柄[i]=convert.strtoint(单个窗口句柄[i])
if(窗口句柄[i]>0)
dm.SetWindowState(窗口句柄[i],12)
help.sleep(200)
dm.SetWindowSize(窗口句柄[i],350,435)
dm.MoveWindow(窗口句柄[i],w, h)
help.sleep(200)
endif
//窗口排列
if(w<1000)
w=w+350
else
h=h+435
w=0
endif
i=i+1
help.sleep(500)
endwhile
复制代码
作者:
梦里只影向你
时间:
2012-8-18 22:48
完整的,只有移动功能
#import "dm.dmsoft" dm
空间 移动txt
//定义默认空间
功能 逻辑型 开始_点击()
int c
int[] 窗口句柄
string 遍历句柄串 = dm.EnumWindow(0,"文本文档","",1+4+8+16)
if(遍历句柄串!="")
string[] 单个窗口句柄
字符串.分割(遍历句柄串,",",单个窗口句柄)
数组.大小(单个窗口句柄,c)
int i=0
int w=0
int h=0
窗口句柄=int[c]
while(i<c)
窗口句柄[i]=convert.strtoint(单个窗口句柄[i])
if(窗口句柄[i]>0)
dm.SetWindowState(窗口句柄[i],12)
help.sleep(200)
dm.SetWindowSize(窗口句柄[i],350,435)
dm.MoveWindow(窗口句柄[i],w, h)
help.sleep(200)
endif
//窗口排列
if(w<1000)
w=w+350
else
h=h+435
w=0
endif
i=i+1
help.sleep(500)
endwhile
endif
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
//函数返回语句
功能结束
空间结束
//空间结束语句
复制代码
作者:
f45601535
时间:
2012-8-18 22:54
回复
3楼
梦里只影向你
的帖子
大哥你是直接用大漠来控制的呀, 那你后面的这组数子啥意思(1+4+8+16)
作者:
梦里只影向你
时间:
2012-8-18 23:04
这个说明文档有
1 : 匹配窗口标题,参数title有效
2 : 匹配窗口类名,参数class_name有效.
4 : 只匹配指定父窗口的第一层孩子窗口
8 : 匹配所有者窗口为0的窗口,即顶级窗口
16 : 匹配可见的窗口
作者:
梦里只影向你
时间:
2012-8-18 23:16
TC的好像不能最小化
#import "dm.dmsoft" dm
空间 移动txt
//定义默认空间
功能 逻辑型 开始_点击()
int c
int[] 窗口句柄
//string 遍历句柄串 = dm.EnumWindow(0,"文本文档","",1+4+8+16)
string 遍历句柄串 = 系统.枚举("文本文档",0)
if(遍历句柄串!="")
string[] 单个窗口句柄
//字符串.分割(遍历句柄串,",",单个窗口句柄)
字符串.分割(遍历句柄串,"|",单个窗口句柄)
数组.大小(单个窗口句柄,c)
int i=0
int w=0
int h=0
窗口句柄=int[c]
while(i<c)
窗口句柄[i]=convert.strtoint(单个窗口句柄[i])
if(窗口句柄[i]>0)
//dm.SetWindowState(窗口句柄[i],12)
窗口.激活(窗口句柄[i])
help.sleep(200)
//dm.SetWindowSize(窗口句柄[i],350,435)
窗口.设置大小(窗口句柄[i],350,435)
//dm.MoveWindow(窗口句柄[i],w, h)
窗口.设置位置(窗口句柄[i],w, h)
help.sleep(200)
endif
//窗口排列
if(w<1000)
w=w+350
else
h=h+435
w=0
endif
i=i+1
help.sleep(500)
endwhile
endif
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
//函数返回语句
功能结束
空间结束
//空间结束语句
复制代码
作者:
jimye0526
时间:
2012-8-19 11:29
查找 标题 类名都一样的窗口句柄用枚举就好了 返回一个句柄组
然后再分割出来就好了
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1