我想知道是否有办法以某种方式与Windows系统上当前打开的窗口进行交互。我有兴趣获得他们的一些属性,即:
最好,我想用Java做到这一点,但欢迎任何建议。
答案 0 :(得分:1)
要枚举系统中的所有顶级窗口,请使用EnumWindows
。你给它一个签名为EnumWindowsProc
的回调函数,所以它将接收每个窗口句柄作为第一个参数。
您可以使用GetWindowRect
功能获取窗口位置(在屏幕坐标中)和尺寸。传入您收到的窗口句柄,然后输出LPRECT
(指向RECT
的指针)。
要确定窗口是否已最大化,请使用GetWindowPlacement
并检查您收到的WINDOWPLACEMENT
结构的showCmd
字段。
最后,要获取窗口的标题,请使用GetWindowText
。 (顺便说一句,如果你想在另一个进程中获取控件的文本,你需要自己发送WM_GETTEXT
消息。)