Так что я хочу иметь движущийся фон для своего ПК, поэтому я попробовал код на C ++, который я сделал. Код, который я использовал, не позволяет мне использовать gif-файлы, поэтому вместо этого создавал слои анимации, и программа продолжала изменять фоновое изображение для создания движущегося фона. Проблема заключается в том, что эта программа использует слишком много ресурсов процессора и вызывает отставание изображения. Так что я хочу знать, есть ли способ обойти это с помощью C ++. Я знаю, что мог бы использовать какую-то другую программу, но я хочу немного изучить c ++, особенно программы, которые взаимодействуют с операционной системой.
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, (PVOID)"image01.jpg", SPIF_UPDATEINIFILE );
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, (PVOID)"image02.jpg", SPIF_UPDATEINIFILE );
Также у меня есть около 23 кадров.
Использовать Sleep()
функция, чтобы вернуть некоторое время использования процессора для Windows.
Sleep()
Функция заставляет поток освободить оставшуюся часть своего временного интервала и стать неработоспособным в течение интервала, основанного на значении dwMilliseconds. Системные часы «тикают» с постоянной скоростью. Если dwMilliseconds меньше, чем разрешение системных часов, поток может находиться в спящем режиме меньше указанного промежутка времени.
По истечении интервала ожидания поток готов к работе. Если вы укажете 0 миллисекунд, поток освободит оставшуюся часть своего временного интервала, но останется готовым. Обратите внимание, что готовый поток не гарантированно запускается немедленно. Следовательно, поток может не запускаться до тех пор, пока не истечет некоторое время после окончания интервала ожидания.
#include <Windows.h>
int main(){
Sleep(100); //100 Milliseconds or 0.1 seconds
return 0;
}