实现n*n的大小展示在屏幕上
def arrange_windows(windows, screen_width, screen_height):
"""Arrange windows in a grid layout on the screen."""
num_windows = len(windows)
if num_windows == 0:
return
num_rows = int(math.sqrt(num_windows))
num_cols = int(num_windows / num_rows)
window_width = screen_width // num_cols
window_height = screen_height // num_rows
for i, hwnd in enumerate(windows):
row_index = i // num_cols
col_index = i % num_cols
x = col_index * window_width
y = row_index * window_height
print(f"Arranging window: Handle: {hwnd}, Position: ({x}, {y}), Size: ({window_width}, {window_height})")
win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
win32gui.SetWindowPos(hwnd, win32con.HWND_TOP, x, y, window_width, window_height, win32con.SWP_SHOWWINDOW)
def sep_main():
"""Main function to arrange windows on the screen."""
screen_width = win32api.GetSystemMetrics(0)
screen_height = win32api.GetSystemMetrics(1)
arrange_windows(windows, screen_width, screen_height)