工具原料电脑易语言API命令
方法/步骤分步阅读
1
/5
软件思路:
首先利用取鼠标位置命令取得所需点击的坐标位置,然后在执行开始后先将鼠标放置到该位置,根据设定的时间间隔和次数进行点击,包括左键单击、左键双击、右键单击、右键双击,直到结束。
2
/5
第一步:打开易语言软件,创建一个易语言桌面程序。
双击易语言图标,打开易语言程序,点击右上角程序→新建→Windows桌面程序→确认,或者直接点击新建图标→Windows桌面程序→确认,创建一个桌面程序。
本程序需要用到一个API命令,
.DLL命令 置鼠标位置, , "user32.dll", "SetCursorPos"
.参数 X, 整数型
.参数 Y, 整数型
3
/5
第二步:绘制一个下图界面。
启动窗口:尺寸为420px*210px,视情况调整;
按钮:按钮1用来开始取坐标位置,按钮2用来开始模拟按键;
标签:各个标签用来显示提示;
编辑框:编辑框1用来设置时间间隔,编辑框2用来设置点击次数,两者都设置成整数输入;
时钟:利用时钟来取鼠标所在位置。
启动程序时要创建5个程序集变量,并注册两个热键,程序代码如下图
4
/5
第三步:取点击坐标位置
点击按钮1,进入代码区。启动时钟事件,时钟中期为10ms.
双击时钟,进入时钟周期事件,取鼠标所在的横坐标与纵坐标分别为X、Y,并在标签1上显示。
点击标签1,进入标签反馈事件,判断参数一的数值,如果等于F1则停止时钟周期事件,说明取位置成功,给变量“状态”赋值“已经捕捉”;如果等于F2,则结束程序。
5
/5
第四步:开始模拟点击
点击按钮2,进入程序代码区。首先要判断两个编辑框里面的内容,如果内容为空则返回,内容不为空则判断捕捉状态,状态值不等于“已经捕捉”则提示捕捉位置,如果等于则根据设定的时间间隔和次数进行模拟点击。
利用计次循环圈定点击次数,置鼠标位置(,)命令将鼠标移动到捕捉的位置,然后利用模拟鼠标点击(,,)命令进行点击,点击类型0为左键单击,1为左键双击,2为右键单击,3为右键双击。利用延时()命令控制时间间隔。
注意事项
所要点击的窗口不能关闭和移动,如需关闭,则需在程序中添加窗口置最前的命令
如需点击多个位置,只需加位置即可
如果这条经验帮到了您,请您为它点赞并投票,让它帮助更多需要的人,谢谢
C语言中提供了许多库函数来实现计时功能,下面是一些常用的计时函数:1、 time()
头文件:time.h
函数原型:time_t time(time_t * timer)
功能:返回以格林尼治时间(GMT)为标准,从1970年1月1日00:00:00到现在的时此刻所经过的秒数
用time()函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当前系统时间或是标准时间。
用difftime函数可以计算两个time_t类型的时间的差值,可以用于计时。用difftime(t2,t1)要比t2-t1更准确,因为C标准中并没有规定time_t的单位一定是秒,而difftime会根据机器进行转换,更可靠。
说明:C标准库中的函数,可移植性最好,性能也很稳定,但精度太低,只能精确到秒,对于一般的事件计时还算够用,而对运算时间的计时就明显不够用了。
2、clock()
头文件:time.h
函数原型:clock_t clock(void)
功能:该函数返回值是硬件滴答数,要换算成秒,需要除以CLK_TCK或者 CLK_TCKCLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000。
说明:可以精确到毫秒,适合一般场合的使用。
3.、timeGetTime()
头文件:Mmsystem.h 引用库: Winmm.lib
函数原型:DWORD timeGetTime(VOID)
功能:返回系统时间,以毫秒为单位。系统时间是从系统启动到调用函数时所经过的毫秒数。注意,这个值是32位的,会在0到2^32之间循环,约49.71天。
说明:该函数的时间精度是五毫秒或更大一些,这取决于机器的性能。可用timeBeginPeriod和timeEndPeriod函数提高timeGetTime函数的精度。如果使用了,连续调用timeGetTime函数,一系列返回值的差异由timeBeginPeriod和timeEndPeriod决定。
4、GetTickCount()
头文件:windows.h
函数原型:DWORD WINAPI GetTickCount(void)
功能:返回自设备启动后的毫秒数(不含系统暂停时间)。
说明:精确到毫秒。对于一般的实时控制,使用GetTickCount()函数就可以满足精度要求。
5、QueryPerformanceCounter()、QueryPerformanceFrequency()
头文件:windows.h
函数原型:BOOLQueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)
BOOLQueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)
功能:前者获得的是CPU从开机以来执行的时钟周期数。后者用于获得你的机器一秒钟执行多少次,就是你的时钟周期。
补充:LARGE_INTEGER既可以是一个8字节长的整型数,也可以是两个4字节长的整型数的联合结构, 其具体用法根据编译器是否支持64位而定:
在进行定时之前,先调用QueryPerformanceFrequency()函数获得机器内部定时器的时钟频率,然后在需要严格定时的事件发生之前和发生之后分别调用QueryPerformanceCounter()函数,利用两次获得的计数之差及时钟频率,计算出事件经历的精确时间。
说明:这种方法的定时误差不超过1微秒,精度与CPU等机器配置有关,一般认为精度为透微秒级。在Windows平台下进行高精度计时的时候可以考虑这种方法。
6、gettimeofday()
Linux C函数。
头文件:sys/time.h
函数原型:int gettimeofday(struct timeval *tv,struct timezone *tz)
说明:其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果(若不使用则传入NULL即可)。
timeval的定义为:
struct timeval {
long tv_sec// 秒数
long tv_usec//微秒数
}
仿真语句一般需要根据编程者的需要来写的。最一般的核查方法是两个process,第一个包含rst的触发与释放,第二个包含单纯的clk,随着时钟周期的推移。
考虑到你这个电路的具体功能是实现按键出发,那第三个process则是当按周期或按需求触发按键,再看最终你的组合电路的输出是否符合你的需求。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)