Сохранить расположение иконок на рабочем столе, восстановить по команде
Задание закрыто
Стоимость:
Договорная
Срок выполнения:
3 дня
Варианты оплаты:
По договоренности
Дата публикации:
2024-02-12 10:11
Был(а) на сайте:
2025-12-29 12:53
Реклама
Сохранить расположение иконок на рабочем столе, восстановить по команде
Задача
Мы бэкапим и восстанавливаем ПК с помощью ПО написанного на С++.
ПО стоит на ПК. По шедулеру восстанавливает ПО, рабочий стол. Но расположение иконок после восстановления изменяется. Надо чтобы расположение не менялось.
Оставлять заявки могут только авторизованные пользователи.
Можно написать скрипт, который будет сохранять расположение иконок на рабочем столе в файл, а затем восстанавливать их из файла после восстановления системы.Ниже приведен пример скрипта на 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. Для восстановления расположения иконок после восстановления системы необходимо запустить этот скрипт снова.
Оставлять заявки могут только авторизованные пользователи.
Сохранить расположение иконок на рабочем столе, восстановить по команде
Реклама
Сохранить расположение иконок на рабочем столе, восстановить по команде
Мы бэкапим и восстанавливаем ПК с помощью ПО написанного на С++.
ПО стоит на ПК. По шедулеру восстанавливает ПО, рабочий стол. Но расположение иконок после восстановления изменяется. Надо чтобы расположение не менялось.