TC官方合作论坛
标题:
从记事本入手-1)打开和关闭
[打印本页]
作者:
laputa73
时间:
2012-2-20 13:30
标题:
从记事本入手-1)打开和关闭
//tc小白,新手练习
//整体目标:
//1.启动记事本(基础功能,实现自动登录会用到)
//2.找到记事本的窗口(基础功能)
//3.输入一些信息(基础功能)
//4.读出当前的信息
//5.关闭记事本
//本部分主要功能覆盖点
//1.使用全局变量保存窗口句柄
//2.中英文混合编程验证
//3.进程的打开和关闭(打开必须全路径,和启动不同)
//自定义函数和调用
namespace notepad
//定义默认空间
//全局变量
int globalpid
//对比中文的功能
功能 逻辑型 任务方法() //定义一个任务方法函数,用于输出"这个是一个任务执行方法"
整型 进程句柄
进程句柄=进程.打开("C:\\WINDOWS\\notepad.exe")
辅助.消息框("进程开启成功!")
返回 真
功能结束
//英文函数
//执行外部进程
//启动记事本
function bool DoTask()
int pid
//这里必须写全路径
pid=process.openprocess("C:\\WINDOWS\\notepad.exe")
globalpid=pid
//help.messagebox(convert.inttostr(globalpid))
if(pid==0)
help.messagebox("进程打开失败")
else
help.messagebox("进程打开成功")
endif
return true
endfunction
//关闭记事本
function bool CloseTask()
//help.messagebox(convert.inttostr(globalpid))
process.closeprocess(globalpid)
return true
endfunction
function bool start_click()
//这里添加你要执行的代码
notepad.DoTask()
//notepad.任务方法()
return true
//函数返回语句
endfunction
function bool exit_click()
//这里添加你要执行的代码
//help.messagebox(convert.inttostr(globalpid))
//process.closeprocess(globalpid)
notepad.CloseTask()
help.exit()
return true
//函数返回语句
endfunction
endnamespace
//空间结束语句
复制代码
作者:
laputa73
时间:
2012-2-20 13:33
标题:
2)-记事本的写入
//覆盖功能点
//1.找窗口句柄
//2.用键盘输入文字
//3.增加按钮和事件
//4.很遗憾,TC没有提供窗口的抓文字方法,难道需要用插件?
//找到记事本窗口并输入一些信息
function bool input()
int winh = window.findwindow("无标题 - 记事本")
if(winh==0)
辅助.消息框("没有找到test.txt - 记事本窗口")
else
辅助.等待(1000)
window.setwindowtop(winh,true) //将该窗口放在当前屏幕最前面,处于置顶状态
//窗口.最大化(窗口句柄) //把该窗口最大化
键盘.发送字符串("hello world") //向记事本发送"helloworld"字符串
endif
return true
endfunction
function bool button0_click()
//这里添加你要执行的代码
notepad.input()
return true
endfunction
复制代码
作者:
jiabowen109
时间:
2012-2-20 22:13
这个代码要在什么环境下运行啊
作者:
hcxiaowu
时间:
2012-2-21 02:18
先看看 虚心求教
作者:
laputa73
时间:
2012-2-21 09:21
这个代码要在什么环境下运行啊
jiabowen109 发表于 2012-2-20 22:13:58
这个是TC的源码,就是在TC 的编程环境下运行啊。
用来学习TC的窗口操作的
作者:
laputa73
时间:
2012-2-21 09:59
标题:
3)窗体的操作-ab抓抓使用
ps.这个坑爹的验证码,害我白写了一大篇都丢了,
启动一个记事本。随便输入一些内容
用AB抓抓
选鼠标句柄,F9,点击记事本标题,F9
可以看到抓到了记事本的窗口句柄
记事本很简单,只有3个控件,所以一般开发工具都会那记事本入手。
问题来了,对于edit子窗体,ab抓抓显示的标题居然是空的
按键9的按键抓抓也是一样
可以vs2005自带的spy++,以及一些winspy工具都是可以抓到内容的
这样一来。tc就无法获得窗体的文字信息了。
期待tc改进吧。(tc也没有发消息的函数)
下面的代码,得到的实际是记事本窗口的标题,而非内容
string wwname
wwname=window.getwindowcaption(winh)
help.messagebox(wwname)
复制代码
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1