我已经用c++摸索了一年左右,决定尝试一下python,因为它的语法要简单得多,而且可以在我还在学习的时候提高生产率(我想!)。我试图从windows桌面应用程序的父窗口枚举所有子窗口。在
import win32ui
def WindowExists(windowname):
try:
win32ui.FindWindow(None, windowname)
except win32ui.error:
return False
else:
return True
appFind = "Test Application"
if WindowExists(appFind):
print ("Program is running")
hwnd = win32ui.FindWindow(None, appFind)
else:
print ("Program is not running")
到目前为止,我识别应用程序没有问题,但我想知道我的hwnd赋值是否像我认为的那样在c++环境中工作,这样我就可以将hwnd赋值传递给enumchildwindows。不过,我不太清楚我是怎么把孩子们从这里弄出来的。在
我还有一个问题,不是只使用应用程序的标题,而是如何使用句柄?例如,如果句柄类似于testapplication的00130903。我记得有几个月我在c++里搞砸了这样的东西,我想你可以用x来代替手柄上的第一组零(或类似的东西),但我真的记不清其中的大部分,所以希望你们能帮忙!在
编辑-
TypeError:对象不是PyHANDLE对象。在
我想我的假设就在这里,我没有正确地分配一个名为hwnd的正确句柄,这是我在尝试使用enumcldwindows或win32时遇到的错误上下文,任何通过标题和句柄正确设置句柄的示例都将不胜感激!在
hwnd = win32ui.FindWindow(None, appFind)
,用于验证windows是否存在hwnd = win32gui.FindWindow(None, appFind)
,允许我使用句柄!活着,我们学习!在相关问题 更多 >
编程相关推荐