尝试使用win dll来操作打开的窗口。
import ctypes
user32 = ctypes.WinDLL ("user32")
print(user32.FindWindowExA(None,None,None,"FileZilla"))
它打印0但FileZilla现在正在运行。 相同的库在Java中使用Native.loadLibrary。 Lib似乎被加载了,因为它在使用错误的args数量调用FindWindowExA时会输出错误。
答案 0 :(得分:0)
该代码将在32位Python下运行,但不能在64位Python下运行。原因是您需要定义参数的类型。你可以通过运气而不是设计来避免在32位进程中这样做。
此外,在我看来,似乎没有必要将自己局限于ANSI接口。您也可以养成使用Win32原生Unicode接口的习惯。
所有这些导致了这一点:
import ctypes
from ctypes import wintypes
user32 = ctypes.WinDLL("user32")
user32.FindWindowExW.restype = wintypes.HWND
user32.FindWindowExW.argtypes = [wintypes.HWND, wintypes.HWND, wintypes.LPCWSTR,
wintypes.LPCWSTR]
print(user32.FindWindowExW(None, None, None, "FileZilla"))