Тема: Програма автоматичної зміни шпалер

Хотів би зробити програму для автоматичної зміни шпалер, код банальний але не знаю як змінити шпалери, код написав нашвидкоруч аби відчепилися з "напрацюваннями", можна вважати його неоптимізованим техзавданням

Прихований текст
#include <windows.h>
const char* bgpath="temp";
void setExplorerBackground();
char* settings;
struct set
{
    int timeout;
    char* category;
    int init()
    {
        if(settings!= NULL)
        {
            category=(LPSTR)GlobalAlloc(GPTR, strlen(settings));
            timeout=atoi(settings[0]);
            for (int i=1; i<strlen(settings); i++)
            {
                category[i-1]=settings[i];
            }
        }
    }
};
set s;
BOOL LoadSettings() {
    HANDLE hFile;
    BOOL bSuccess = FALSE;

    hFile = CreateFile("settings.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, 0);
    if(hFile != INVALID_HANDLE_VALUE) {
        DWORD dwFileSize;
        dwFileSize = GetFileSize(hFile, NULL);
        if(dwFileSize != 0xFFFFFFFF) {
            settings = (LPSTR)GlobalAlloc(GPTR, dwFileSize + 1);
            if(settings != NULL) {
                DWORD dwRead;
                if(ReadFile(hFile, settings, dwFileSize, &dwRead, NULL)) {
                    settings[dwFileSize] = 0;
                    s.init() ;
                    bSuccess = TRUE; 
                }
            }
        }
        CloseHandle(hFile);
    }
    return bSuccess;
}
const char* baseurl="https://mydomain.com/stream/";
void DownWallpaper()
{
    
    char* fullurl=new char[strlen(baseurl)+strlen(s.category)+1];
    strcat(fullurl, baseurl);
    strcat(fullurl, s.category);
    URLDownloadToFile(0, fullurl, bgpath, 0, 0);
}
void Work()
{
    if(s.timeout>0) {
        while(1)
        {
            Sleep(s.timeout*60*1000);
            DownWallpaper();
            setExplorerBackground();
        }
    }
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    Work();
}

Як змінити шпалери на bgpath?

2

Re: Програма автоматичної зміни шпалер

В звичайній Win32 аплікації шпалери можна змінити функцією SystemParametersInfo з параметром SPI_SETDESKWALLPAPER. Якщо треба, щоб налаштування збереглися після перезавантаження, то останній параметр має бути SPIF_UPDATEINIFILE.
Для WinRT аплікацій є UserProfilePersonalizationSettings.TrySetWallpaperImage.

Подякували: Я сисадмін, leofun012

3 Востаннє редагувалося plusxx (13.12.2020 23:10:34)

Re: Програма автоматичної зміни шпалер

А я думав що віндовс  ще починаючи з вісти сам уміє міняти шпалери.

4

Re: Програма автоматичної зміни шпалер

pluszz написав:

А я думав що віндовс від ще починаючи з вісти сам уміє міняти шпалери.

То Ви правильно думали, то зміна шпалер із папки з картинками.
А я хочу купити домен, хостинг, зклепати свій AutomaticWallpaperChanger який буде завантажувати звідти дані і ставити у юзверів шпалери. Чому саме цей тип програми? Бо таким програм в інтернеті дуже мало. В якості плати можна поставити сервіси Яндекса та заробити

5

Re: Програма автоматичної зміни шпалер

Куди витратите мільйон долларів зароблений таким чином?

Подякували: FakiNyan, Я сисадмін2

6 Востаннє редагувалося Torbins (13.12.2020 20:59:33)

Re: Програма автоматичної зміни шпалер

А багато москалі платять за установку їхніх шпигунських модулів одному "бандеро-фашисту"?

Подякували: FakiNyan1

7

Re: Програма автоматичної зміни шпалер

Torbins написав:

А багато москалі платять за установку їхніх анальних зондів одному "бандеро-фашисту"?

виправив

8

Re: Програма автоматичної зміни шпалер

На шо воно взагалі таке треба, автоматично змінювати шпалери через сервер?
Чи щось не так розумію?

9

Re: Програма автоматичної зміни шпалер

Мда... Напевно на тому ж домені буде і новий форум програмістів "без ненависників Яндекса".

10

Re: Програма автоматичної зміни шпалер

Гратися у "бандеро-фашиста" я не хочу, бо по-перше я вважаю що тут немає фашистів, по-друге я вважаю що Бандера працював не на благо України і його єдиний плюс - це те, що він був проти Росії, а по-третє я не хочу нікому нічого доводити і піднімати цю тему взагалі. Питання вирішене.
Дарма ляпнув про Яндекс. Прохання модераторів видалити срач (заборона спілкування на політичні теми, а тим паче - називати українців фашистами) разом з яндексом і закрити тему

11

Re: Програма автоматичної зміни шпалер

Я сисадмін написав:

і його єдиний плюс - це те, що він був проти Росії

Почитайте історію..
Він захищав людей від комуністичної ідеології. Яка ґрунтувалася на винищенні українського народу як нації, та на винищенні тих індивідів, які на думку можновладців тих часів були розумніші за них. І таким чином становили загрозу що до нахабної загарбнецької експроприаціі майна інших особ..

12

Re: Програма автоматичної зміни шпалер

Якщо комусь реально потрібна програма для зміни шпалер, то є John’s Background Switcher. Він підтримує купу сервісів з фоточками плюс RSS. І в ньому немає москальських анальних зондів (дякую FakiNyan).

Подякували: FakiNyan1