[watermark] 以前我讲过模拟键盘输入,当时还写了一个关机的程序,由于是用Alt+F4执行的关机,所以兼容性极好。
曾经我写过一个模拟鼠标点击的程序,可以在短时间内狂点鼠标。
今天,我准备写一个模拟菜单输入的程序,模拟菜单当然是更厉害了。比如我想点击其它窗体中的菜单选项,我可以自己写一个程序来帮我输入我想点击的菜单项,这个在有时候是非常有用的。例如我想定时刷新网页,可以定时将欲刷新的网页置前,然后向它模拟按F5键,这样就可以了。或者我可以模拟执行菜单命令,即执行一个网页“查看”菜单中的“刷新”命令。模拟菜单输入当然比模拟键盘输入要好得多,因为模拟键盘输入必须先将网页置为活动窗口才能发送F5键,而模拟菜单输入就算是网页处于最小化状态也可以进行。
不管是用C++还是用Delphi设计程序时,都可以用API函数FindWindow、GetMenu()、GetSubMenu、SendMessage、GetMenuItemId结合实现。程序源码非常简单但用处却很大。
另外,我在做此类程序的时候发现一个问题。例如,如果打开一个空记事本,在没有输入任何文字的情况下,“编辑”菜单中的“查找”选项是灰色的不可用,但用模拟菜单输入的方法去执行,仍然可以奏效。
这里给出程序,以便测试:
|