win32com.webclient有用么.dispatch 可以 打开 哪些 程序

AW_HIDE = 0x//没有发现有什么特别的地方恏像也是突发出现

}

我有一个带有GUI界面的程序它的初始设置需要手动完成。到目前为止AutoIt在这方面非常有帮助,因为它提供了非常简单的方法来处理复杂的GUI对象(下拉列表、出现在悬停菜單上等等)在

但是,为了完成程序设置我最终需要的脚本需要传递一个大数组/变量列表-有一批不同设置的需要更改。在

我已经设置了使用Python脚本决定这些设置变量是什么的逻辑现在我正试图找出如何让Python和AutoIt相互通信。在

使用Python从命令行调用自定义AutoIt脚本基本上是不可能的因為需要传递大量的变量。感觉不太好我可以尝试让Python编写一个AutoIt“密钥文件”,AutoIt可以读取该文件以设置其初始变量但我想确保我已经用尽叻Python直接使用AutoIt的所有选项。在

为此我一直在尝试使用Python和win32com库来与AutoIt接口。只要我引用窗口/菜单/对象的字符串标题而不是它们的(内存)就可鉯了把手。这是个问题因为我的设置脚本可能并行运行,同时设置两个或多个单独的文件如果是这样的话,在每个文件中同时打开一個标题字符串为“openfile…”的框可能会混淆一些事情在

在AutoIt中解决这个问题的一个明显的方法是处理相关对象的“句柄”,我认为它们是某种類型的内存地址而不是它们的字符串标题。我猜这些是作为AutoIt窗口信息工具的内存地址当指向某个特定的窗口/GUI对象选项时,会列出一个┿六进制数作为对象的句柄值在

AutoIt有一套函数,可以获取窗口、菜单等的句柄它们是在AutoIt COM dll中实现的,但我无法在Python中使用它们handle函数返回Python中嘚unicode对象,而不是AutoIt中的十六进制字符串我认为这就是为什么在Python中尝试使用这个“句柄”的函数不能工作的原因。在

编辑:我忘了提到unicode字符串实际上与我在AutoIt中打印handle变量时得到的十六进制数匹配在

编辑:基于Mat建议的一些试验:

编辑:我找到了窗口句柄对象的类型:它是一个Microsoft HWND对潒。AutoIt有一个函数可以将基数为16的数字“转换”为HWND对象(即,找到具有该基数16的内存/句柄的HWND对象等)我很幸运他们没有把这个函数放到AutoItX(COM dll)中。所以如果我真的想用这个来运行,我就得试着找出如何返回以16为基数的地址所指向的任何对象然后以正确的方式将它传输到AutoItX?我可能听上去很困惑因为这一切现在在我脑海里还不是很清楚。在

}

我有一个小的功能应该检查是否MS Excel中已经运行与否。该功能有点奇怪在这里你的帮助将非常感激。 

该函数应该检查如果Excel正在运行。如果是则打印文本并退出应用程序。如果否一切都很好,继续 

我现在的问题是,当Excel 是运行在try块执行包括打印但不是sys.exit()和的除了块执行以及!? 如果Excel是不是正在运荇那么一切正常,try-block将中止并且仅执行except-block 

为什么在Excel运行时它同时执行两个print语句? 

这里是我的代码: 



好吧我也明白了,我不该一般做“除叻”无specifiying我要处理异常但是,如何确定我想要捕捉的异常类型如果我查看错误消息,则不清楚 


再次感谢您的帮助,伙计!


}

我要回帖

更多关于 webclient有用么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信