问个新手常见问题,如何对最小化的窗口发送键盘命令,我不是伸手党,内有总结
初学autoit,用最简单的send("{a}"),sleep(500),send("{enter}")之类的键盘命令自动操作程序,但这样操作,被操作的窗口必须在最前端,否则就不行了,我想让被操作窗口最小化,然后autoit在后台继续给这个窗口发送send("{a}")之类,这样电脑就可以同时做其他事情了我需要操作的程序窗口是VNC viewer,这是一个在windows系统中操作unix的程序
我翻了论坛很多帖子,发现这种情况一般有三种方法解决,但都有问题
1,controlsend命令,我试了下这个命令好像只能操作微软的程序窗口,必须提供control id,而VNC viewer这种非微软的程序,autoit windows information读不出control id,不能用
2,_sendmessage,这个方法只要提供control handle就行,似乎可以,但不知道为什么我用这个方法给记事本发送键盘都不行,似乎我用的有问题,希望大神能给个范例
3,激活被操作窗口后调整窗口尺寸,这个方法我不理解,因为就算把窗口调到很小,当我光标点击到其他窗口时,send("{a}")的命令一样会被错误发送到另一个窗口
如果有其他方法,也希望有大神能出来讲解,十分感谢 首先VNC viewer就是个远程桌面连接工具,不要瞎下定义。
你先弄懂句柄的概念好吗,句柄是windows用来标志应用程序中建立的或是使用的唯一整数,你一个远程桌面要得到unix上的句柄,这不是扯犊子吗?
你第三种方法是激活被操作窗口,你都激活别的了,何来成功
结论:你现在的方式完全不可能,有这时间去看看unix命令吧 查找软件本身的接口.....好吧 我纯属扯淡 首先VNC viewer就是个远程桌面连接工具,不要瞎下定义。
你先弄懂句柄的概念好吗,句柄是windows用来标志应 ...
502762378 发表于 2014-7-6 22:30 http://www.autoitx.com/images/common/back.gif
你好,vnc viewer是远程连接unix工具,而unix运行了一个测试ASIC的软件,需要不断的敲键盘固定几个按键来交互,请问有什么办法解决这个吗,因为这个软件本身不能修改,我没权限,谢谢 本帖最后由 shqf 于 2014-7-7 16:34 编辑
VNC只是一个远程控制程序。VNC Viewer是其控制端,VNC Server是被控制端。VNC是跨平台的,可以在不同类型的计算机上交互操作。当VNC Viewer安装在windows系统的计算机上,而VNC Server安装在unix系统在计算机上时,就是楼主所说的情况。
而在windows系统中能运行的程序应该是符合windows系统规范的,有窗口句柄、控件ID等。但控件有的是windows系统标准控件,有的是第三方非标准控件。图形用户界面(GUI)中对Windows第三方非标准控件识别率不高,这一直是软件自动化测试中的难题。还有如360安全程序中的一些控件,基于安全的原因,使用了非标准控件,木马病毒程序就难以识别进而破坏了。
假如VNC Viewer使用了windows系统标准控件,其用以显示远程计算机的桌面的控件就能识别到,进而可向其发送消息了。但对远程桌面中的控件是无法进一步识别的,不管VNC Server是安装在windows中,还是unix中。
假如VNC Viewer使用了第三方非标准控件,可弃用VNC Viewer,利用ie作为控制端程序去连接VNC Server被控制端。而ie的窗口和其中的控件,你总是可以识别到的吧。 回复学习。。。。。。。。。。。。。 学习学些,拿钱走人。感谢感谢 缩小VNC窗口到最小,而后置顶
最后定义你要做的事情
但是不管如何肯定有BUG 为什么不用ssh连接? VNC只是一个远程控制程序。VNC Viewer是其控制端,VNC Server是被控制端。VNC是跨平台的,可以在不同类型的 ...
shqf 发表于 2014-7-7 10:13 http://www.autoitx.com/images/common/back.gif
多谢5楼的大神回复,正在尝试IE 如果全程都可以多好啊
页:
[1]