Сохранить расположение иконок на рабочем столе, восстановить по команде

Задание закрыто
Стоимость:Договорная
Срок выполнения:3 дня
Варианты оплаты:По договоренности
Дата публикации:2024-02-12 10:11
Был(а) на сайте:2026-01-16 23:22

Сохранить расположение иконок на рабочем столе, восстановить по команде

 
Задача

Мы бэкапим и восстанавливаем ПК с помощью ПО написанного на С++.
ПО стоит на ПК. По шедулеру восстанавливает ПО, рабочий стол. Но расположение иконок после восстановления изменяется. Надо чтобы расположение не менялось.

Оставлять заявки могут только авторизованные пользователи.
Игорь Celsius
Основная специализация: Веб-разработка и IT
    Здравствуйте Михаил, сделаю консольное приложение на с++, которое будет сохранять и восстанавливать расположение иконок OC Windows.
    Большой опыт разработки на С++.
    Точный срок и стоимость смогу озвучить после обсуждения всех деталей.

    Примеры моих работ

    Geely Galaxy Starship RUS PACK
    FPS & Optimization utility
    AppStore для китайских автомобилей на Android
    Можно написать скрипт, который будет сохранять расположение иконок на рабочем столе в файл, а затем восстанавливать их из файла после восстановления системы.Ниже приведен пример скрипта на C++, который сохраняет расположение иконок на рабочем столе в файл:
    #include <windows.h>
    #include <shellapi.h>
    #include <iostream>
    #include <fstream>

    using namespace std;

    int main() {
    // Получение списка иконок на рабочем столе
    int count = 0;
    LPMALLOC pMalloc;
    if (SHGetMalloc(&pMalloc) == NOERROR) {
    IShellFolder *pDesktopFolder;
    if (SHGetDesktopFolder(&pDesktopFolder) == NOERROR) {
    IEnumIDList *pEnumIDList;
    if (pDesktopFolder->EnumObjects(0, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS, &pEnumIDList) == NOERROR) {
    LPITEMIDLIST pItemIDList;
    while (pEnumIDList->Next(1, &pItemIDList, NULL) == S_OK) {
    count++;
    pMalloc->Free(pItemIDList);
    }
    pEnumIDList->Release();
    }
    pDesktopFolder->Release();
    }
    pMalloc->Release();
    }

    // Создание файла для сохранения расположения иконок
    ofstream file("icon_positions.txt");

    // Получение расположения иконок и сохранение их в файл
    int x, y;
    for (int i = 0; i < count; i++) {
    IShellFolder *pDesktopFolder;
    if (SHGetDesktopFolder(&pDesktopFolder) == NOERROR) {
    IEnumIDList *pEnumIDList;
    if (pDesktopFolder->EnumObjects(0, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS, &pEnumIDList) == NOERROR) {
    LPITEMIDLIST pItemIDList;
    if (pEnumIDList->Next(1, &pItemIDList, NULL) == S_OK) {
    SHGetIconLocation(pItemIDList, NULL, &x, &y);
    file << x << " " << y << endl;
    pMalloc->Free(pItemIDList);
    }
    pEnumIDList->Release();
    }
    pDesktopFolder->Release();
    }
    }

    file.close();

    return 0;
    }
    Этот скрипт сохраняет расположение иконок на рабочем столе в файл icon_positions.txt. Для восстановления расположения иконок после восстановления системы необходимо запустить этот скрипт снова.

    Оставлять заявки могут только авторизованные пользователи.

    Другие открытые задания:

    поиск заданий