possible GDI Object leak on Windows
Every time get_monitors() is called, the GDI Objects count for the python process on win32 increases. Once the 10,000 GDI Object hard limit is reached, the desktop becomes lagged, and GUI things break (my script is managing an application's full-screen status, and the result is a corrupted / not-fully-repainted window).
A small test, if you add the GDI Objects column to taskmgr, you can see the count continually increase.
while True:
for m in get_monitors():
print(str(m))
This may relate to 'the call to ReleaseDC is incorrect' https://github.com/rr-/screeninfo/issues/30#issuecomment-612631519
@carlfarrington can you verify if this stalled pull request fixes the issue you're experiencing and doesn't break the functionality? https://github.com/rr-/screeninfo/pull/32 Thanks
A shame this is still open. I had the same problem. Thousands of GDI Handles after some hours. Basically 1 Handle per get_monitors() ... Well after replacing the "screeninfo\enumerators\windows.py" with the one from https://github.com/rr-/screeninfo/pull/32 I can comfirm this fixes the issue.