Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用窗口句柄(win32gui)而不是标题_Python_Handle_Caption_Enumerate - Fatal编程技术网

在python中使用窗口句柄(win32gui)而不是标题

在python中使用窗口句柄(win32gui)而不是标题,python,handle,caption,enumerate,Python,Handle,Caption,Enumerate,上面的代码工作得非常好,我可以检测“主窗口程序”是否正在运行,我还可以枚举所有的子窗口。然而,我的问题是我不知道如何使用句柄而不是标题,因此我可以使用hwnd=0xC0D57(或任何句柄) 还有什么最好的输入法做一个控件?postmessage、sendmessage等?Ok更新了这篇文章,清除了一些无用的信息,希望有人能帮上忙!从未在Python环境中使用过它,我也不知道如何处理回调,但在C或C++中,正确调用的API函数是BOOL EnumWindows(WNDENUMPROC lpEnum

上面的代码工作得非常好,我可以检测“主窗口程序”是否正在运行,我还可以枚举所有的子窗口。然而,我的问题是我不知道如何使用句柄而不是标题,因此我可以使用
hwnd=0xC0D57
(或任何句柄)


还有什么最好的输入法做一个控件?postmessage、sendmessage等?

Ok更新了这篇文章,清除了一些无用的信息,希望有人能帮上忙!从未在Python环境中使用过它,我也不知道如何处理回调,但在C或C++中,正确调用的API函数是
BOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM LPARAM)
import win32ui
import win32gui

def WindowExists(windowname):
    try:
        win32ui.FindWindow(None, windowname)
        
    except win32ui.error:
        return False
    else:
        return True

hwndName = "Main Window Program"
         
if WindowExists(hwndName):
    print ("Program is running")
    hwnd = win32gui.FindWindow(None, hwndName)   
else:
    print ("Program is not running")  

child_handles = []

def all_ok(hwnd, param):
    child_handles.append(hwnd)    
            
win32gui.EnumChildWindows(hwnd, all_ok, None)

print (child_handles)