zoukankan      html  css  js  c++  java
  • 使用Python自动化Windows界面操作

    要拷贝几百个文件到另一个目录,有重名现象,但是不想覆盖原有文件,在命令行下应该可以通过命令行开关来完成需求。

    http://sunxiunan.com/?p=1737

    但是已经开始拷贝,而且就想使用界面操作,怎么办?(太纠结了!)

    好在我们有Python可以使用。

    http://www.tizmoi.net/watsup/intro.html

    http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html

    其主要设计思想就是使用Windows API找到特定窗口,然后发送键盘或者鼠标消息。

    watsup我使用Python2.6,然后安装了PyWin32,还有SendKeys库,最后下载watsup,解压到Python的lib目录即可。

    代码极为简单,我对winGuiAuto稍作修改,加了equalText参数,因为原来的wantedText使用的是(wantedTextintargetWindows),只要有"No"在字符串里面就会返回,与我想达到的效果不太一样,当然也可以用selectionFunction加lambda完成,但不想费那劲了。

     from watsup.winGuiAuto import findControl, findTopWindow, clickButton
     from time import sleep   
     aWindow = findTopWindow(wantedText='Confirm File Replace')
     while aWindow:
        button = findControl(aWindow, equalText='No')
        sleep(0.1)
        clickButton(button)
        sleep(1)
        aWindow = findTopWindow(wantedText='Confirm File Replace')

    如果你使用Ruby,可以参考这篇,也是一样的使用相关Windows API。

    http://rubyonwindows.blogspot.com/2007/05/automating-applications-with-ruby.html

  • 相关阅读:
    c++设计模式总结
    Java复习(四)类的重用
    Java复习(三)类中的方法
    Java复习(二)类与对象的基本概念
    Java复习(一)——Java语言概述、开发环境、基础知识
    Java复数的加乘除运算
    人见人爱A+B
    noj快排
    noj最长公共子序列
    C语言里有没有sort函数?有!
  • 原文地址:https://www.cnblogs.com/lua5/p/1903547.html
Copyright © 2011-2022 走看看