Я работаю над простым приложением, которое рисует изображение с альфа-смешиванием в контексте устройства экрана каждые 2 секунды, я хочу обновить содержимое экрана перед операцией рисования (чтобы стереть нарисованный рисунок),
Я использовал много разных приемов, но, к сожалению, экран не обновляется правильно, в некоторых регионах все еще остаются части нарисованного изображения.
Я очень расстроен этой проблемой :(
Это исходные коды, которые я использовал, я использую C #
SendMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, IntPtr.Zero, IntPtr.Zero); // wasted time in the refreshing process is enough to keep this.
UpdateWindow(HWND_BROADCAST);// does not work at all!
InvalidateRect(IntPtr.Zero,IntPtr.Zero,true); // the same goes here.
SendMessage(HWND_BROADCAST, WM_PAINT, IntPtr.Zero, IntPtr.Zero); // pfffff !
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, new IntPtr(SPI_SETNONCLIENTMETRICS), IntPtr.Zero); // trying to refresh the explorer, no resutl
Я также использовал EnumWindows и перезвонил, очень медленно и не подходит для моего случая.
Я хочу обновить весь экран
Помоги пожалуйста!
С Уважением
Валид