源码
#include<iostream> #include<thread> #include<chrono> #include<direct.h> #include<map> #include<Windows.h> #pragma comment(lib, "user32.lib") using namespace std; int main() { // constants char cwd[0xff]; getcwd(cwd, 0xff); const pair<unsigned short, char> hourMap[] { {20, '2'}, {19, '8'}, {18, '1'}, {16, '7'}, {13, '6'}, {10, '5'}, {8 , '4'}, {5 , '3'}, {0 , '2'} }; // variables SYSTEMTIME time; unsigned short hour{0}; char cImgId{'2'}; char cLastImgId{'0'}; // main thread t([&]() {while(true) { // 计算现在小时数对应的图片 GetLocalTime(&time); hour = time.wHour; for(const auto& kv: hourMap){ if(hour>=kv.first) { cImgId = kv.second; break; }} // 如果图片序号变化就改变壁纸 if(cImgId!=cLastImgId) { string str = string(cwd) + "\\res\\Catalina_" + cImgId + ".jpg"; SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, (PVOID)str.c_str(), SPIF_SENDCHANGE); cLastImgId = cImgId; } // 刷新频率 this_thread::sleep_for(chrono::minutes(10)); }}); t.join(); return 0; }
壁纸结构
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于