在Python中,可以使用ctypes
模塊來調用Windows API函數FindWindow
。
首先,需要導入ctypes
模塊,并定義FindWindow
函數的參數類型和返回值類型。FindWindow
函數的定義如下:
FindWindow(lpClassName, lpWindowName)
其中,lpClassName
和lpWindowName
分別是窗口的類名和窗口標題。它們可以是字符串或空指針。
接下來,使用ctypes.windll.user32.FindWindowW
函數來調用FindWindow
函數。FindWindowW
函數是FindWindow
函數在ctypes
模塊中的別名。
下面是一個示例程序,演示如何使用FindWindow
函數來查找記事本窗口:
import ctypes
# 定義FindWindow函數的參數類型和返回值類型
FindWindow = ctypes.windll.user32.FindWindowW
FindWindow.argtypes = (ctypes.c_wchar_p, ctypes.c_wchar_p)
FindWindow.restype = ctypes.c_void_p
# 調用FindWindow函數來查找記事本窗口
hwnd = FindWindow(None, "無標題 - 記事本")
# 檢查返回值
if hwnd != 0:
print("找到記事本窗口!")
else:
print("未找到記事本窗口!")
在上面的示例中,FindWindow
函數的第一個參數為None
,表示不指定窗口的類名。第二個參數為窗口的標題,可以是窗口的完整標題,也可以是窗口標題的一部分。
如果找到了指定的窗口,FindWindow
函數將返回窗口的句柄。句柄是一個非零的整數值。如果未找到指定的窗口,FindWindow
函數將返回0。
請注意,FindWindow
函數只能找到頂層窗口,不能找到子窗口。如果需要查找子窗口,可以使用FindWindowEx
函數。