Но все же можно попытаться ее сменить.
Ход мыслей простой - картинка где то должна храниться как файл, как поле БД, как часть файла, как ссылка. Надо только ее найти. Самый простой способ ее найти это запустить любую конфигурацию 1С в веб клиенте. Например УТ 11. Сделать это можно со страницы http://v8.1c.ru/trade/demo/index.htm или непосредственно http://demo-ma.1c.ru/trade.
Далее включаем режим разработчика, в Internet Explorer 9 это делается клавишей F12 либо через меню Настроек.
Теперь надо найти элемент соответствующий картинке рабочего стола. Для этого включим возможность выделения мышью.
Выделим картинку рабочего стола.
Внизу приложения отобразится строка HTML разметки: ""
e1cib/convertPicture?sysver=8.2.15.318&url=e1csys%2Fbackend%2Fdesktop.png&w=48&h=48" становится понятно, что картинку "desktop.png" из какого то системного хранилища "e1csys/backend" передают в функцию конвертации картинки до размеров 48*48.
Предполагаю, что эта картинка хранится в файле из папки установки 1С. Мы отметаем предположение, что эта картинка хранится в информационной базе, т.к. при каждом обновлении платформы пришлось бы обновлять и конфигурацию базы. Отметаем предположение, что картинка хранится в сети, ведь 1с настроена на работу не только в интернете. Мало того картинка относится к каждой отдельной версии платформы, так что она должна лежать в папке отдельной версии.
Просмотрев множество файлов из "C:\Program Files\1cv82\8.2.16.352", мое внимание привлекли файлы "backend.dll", "backend_ru.res" и "backend_root.res".
В файле "backend_root.re"s нашлось упоминание о "desktop.png". Я пробовал различные редакторы ресурсов, но видимо фирма 1с использует свой редактор. Если открыть этот файл в блокноте, то можно заметить, что файл состоит из двух частей, первая хранит названия ресурсов, а вторая ее данные.
Названия ресурсов перечислены без каких либо указаний на расположение, значит надо искать последовательно в этом файле. Следовательно надо подсчитать порядковый номер нашей картинки и найти по порядковому номеру ее данные из второй секции файла. Действий будет меньше если мы будем считать количество файлов с расширением "png", а во второй секции будем искать файл который содержит "‰PNG". Лучше использовать HEX-редактор. Я буду использовать WinHEX.
Итак найдем порядковый номер искомого файла среди файлов формата PNG.
Если долго жать F3 и считать количество нажатий то мы придем к записи "desktop.png". Для версии 8.2.16.352 он оказался 11-м.
Теперь найдем Начало данных этого файла. Для этого 11 раз нажмем F3 при установленном поиске "PNG". Не забудьте установить галочку "Match case", она дает указание, что поиск идет с учетом регистра символов.
Нажав F3 одиннадцать раз мы перешли на начало файла. Но как найти окончание файла? Для этого достаточно глянуть любой другой файл формата "PNG". Он заканчивается строкой "END®B`‚", мало того в файле "backend_root.res" есть разделитель между ресурсами.
Ну так давайте выделим этот диапазон двоичных данных и сохраним в отдельный файл.
Мышкой протянем от начала файла.
И до следующего файла
Если вы выделяете файл так же как и я, вручную (а можно сохранить смещение начала и конца файла и выделить по адресам), то не пропустите разделитель, а то затрете другой файл.
Теперь скопируем выделенный блок в новый файл (Cntr+Shift+N). Так мы сможем проверить что нашли тот самый файл иконки рабочего стола и там же будем его править.
После просмотра сохраненной картинки, было понятно что хранятся они не последовательно. На 11й позиции была другая картинка. Пришлось скопировать другие блоки, что бы найти нашу картинку. Она оказалась на 18 месте.
Советую перед все эти действия выполнять на копиях файлов.
Теперь нам нужен графический редактор. Я буду использовать Paint. Меняем рисунок на свое предпочтение. Например так:
И теперь осталось поместить новый рисунок в файл ресурсов. Недостаток в том, что измененный файл должен быть не больше по размеру чем исходный. Возможно это не так, но файл большего размера у меня поместить не удалось.
Потому измененный файл надо подогнать под размер исходного файла. Откроем ИсходныйФайл.png и посмотрим размер:
Его размер 3145 байт.
Откроем ИзмененныйФайл.png и определим его размер.
Размер измененного файла - 2643 байта. Разница в размерах 502 байта.
Дополним измененный файл нулями до нужного размера:
Нажмем ОК и сохраним файл.
Откроем его в стандартными средствами, что бы убедится, что измененная картинка после дополнения не повредилась.
Теперь в WinHEX выделяем весь "ИзмененныйФайл.png" (Cntr+A) и копируем (Cntr+C). переходим к файлу "backend_root.res". Надо заменить блок с изображением рабочего стола на скопированную в буфер обмена измененную пиктограмму рабочего стола. Перейдите на начало блока и вызовите команду Write(Cntr+B). Эта команда вставить содержимое буфера с заменой, а не с добавлением.
Проверьте что размер файла "backend_root.res" не изменился и сохраните.
Можно положить файл обратно в папку "C:\Program Files\1cv82\8.2.16.352" и запускать 1С.
Ну теперь интерфейс точно стал унифицированным! Картинка заменилась только для толстого клиента, наверняка были найдены не все файлы где хранится картинка рабочего стола. Если у вас получится сделать изменение картинки для веб клиента или тонкого клиента, то поделитесь как вам это удалось. Помимо этого есть другие недостатки, например при обновлении платформы новый файл "backend_root.res" может конфликтовать с вашим.
Результаты работы можно скачать тут http://yadi.sk/d/n329aa0TgpfK
Пишите свои комментарии, замечания и предложения. Буду рад, если эта статья вам поможет.