如何找到当前使用Python和Win32 GUI字体的Word Pad应用程序? 我能够找到Windows处理程序和子窗口 下面是一个示例应用程序
import win32gui,win32api,win32con,win32ui
hwnd = win32gui.GetDesktopWindow()
dc = win32gui.GetWindowDC(hwnd)
hfont = win32gui.SendMessage(dc, win32con.WM_GETFONT, 0,0)
fnt_spc = {}
fnt_n = win32ui.CreateFont(fnt_spc)
lf = win32gui.SelectObject(hfont,fnt_n.GetSafeHandle())
print(lf.lfFaceName)
正如您在Spy++中看到的,写字板中的控件是富编辑:
根据Unsupported Edit Control Functionality,应该使用^{} 而不是
WM_GETFONT
首先,您需要获得丰富的编辑句柄(直接使用Spy++,或者
WindowFromPoint
、FindWindowEx
、EnumChildWindows
等等。但是GetDesktopWindow
您使用的只是将句柄返回到桌面窗口,并且SendMessage
接收窗口句柄,而不是设备上下文句柄)此外,您还需要注意,当在另一个进程中发送} 结构,以便与这两个进程交互
EM_GETCHARFORMAT
消息时,您需要请求一段内存,以便在窗口进程中读写^{C++样本(删除错误检查):
结果:
相关问题 更多 >
编程相关推荐