У меня в панели приложений 10 одинаковых иконок 1с-предприятие. Можно как-то разнообразить значки, чтобы отличать одно приложение от другого?
Надоело уже тыкаться.
скрипт или программа есть какая?
(1) fixin, походу без скрипта не обойтись...свойства папки менять походу ннадо OrderInList=? Folder=/ OrderInTree=? http://infostart.ru/public/274485/ вот отзывчивый автор собственного стартера Alexoniq поможет думаю если попросить у него интересный продукт
(1) А может стоит посмотреть в сторону виртуальных рабочих столов? Вроде там есть возможность конкретные программы запускать на конкретном рабочем столе, наделать ярлыков по вкусу - и вперед.
Тот же virtuawin например.
Каждый ярлык настроен на запуск определенной базы? А не удобнее ли запускать базы из стандартного окошка?
Если принципиально требуется запускать базы ярлыками, тогда кликните правой кнопкой мыши на ярлыке -> Свойства -> Ярлык -> Сменить значок.
Можно выбрать из стандартных %SystemRoot%\system32\SHELL32.dll. Либо поискать в интеренете сборники значков.
речь не о ярлыках запуска, а об иконках приложения в окне запущенных приложений.
там 10 одинаковых 1сок болтается.
если запускать через ярлык, то будет же иконка 1С в панели задач, а не иконка ярлыка.
(3) fixin, Скопировать "C:\Program Files\1cv82\common\1cestart.exe" в том же каталоге столько раз, сколько надо ярлыков и изменить иконки внутри с помощью PeStudio ... как-то так. Не знаю только как собрать - сертификат для подписи надо использовать :)
(7) Vovan58, Вносить изменения и модифицировать приложение вроде как не очень хорошо. Да и при процессе обновления платформы слетят все настройки и будет путаница.Подмена иконок в данном случае сложный и нестабильный вариант, ведь приложение используется одно.
Скорее всего топикстартеру лучше обратить внимание на лаунчеры приложений под свою систему.
Для примера не подмены иконки а как вызов нужного приложения, есть такой Launchy (платное) и лучше вместе с плагином tasky именно он позволит по произвести поиск заголовку окна и вызвать запущенное приложение.
если в синоним базы внести например "АБЫРВАЛГ" и запустить конфигуратор и в режиме приложения , то при работе лаунчера будет предложен переключение между этими двумя приложениями.
(7) Vovan58, 1cestart.exe - запускалка, она потом стартует другой процесс 1CV8.exe из соответствующего каталога bin нужного релиза платформы и нужного клиента
т.е. если уж на то пошло иконку ломать надо у него
ну это просто за 20 минут решается проблема! Печатаешь на принтере длинную полоску бумаги с разными значками, длиной равной высоте монитора и с правой части монитора клеешь на скотч. Я так понимаю набор баз и последовательность запуска одинаковая? Если нет чуть сложнее - берешь цветные стикеры(узкие полоски), после запуска расклееваешь. Если последовательность баз сменилась - перемещаешь стикеры. :)
(20) fixin,
С чего это?
Раз у тебя на панели приложений столько кнопок.
Значит на каждый запуск - свой ярлык.
Иначе было бы только 4 кнопки (Тонкий, толстый, обычный и конфигуратор).
А если их дюжина значит несколько ярлыков со своими параметрами запуска.
А сколько ярлыков- столько и значков! Т.е. сменив значок одного ярлыка, это не заменит значет ярлыка дефолтного (который появляется в меню при установке)
Хм... наверно мы о чем то разном говорим.
2 часа назад, специально насоздавал разных ярлыков с разными параметрами запуска, и каждому "отфонаря" присвоил картинки.
И...
все фурынциклит.
(25) нет, я быстрее прокликаю, чем ждать 2-3 минуты.
(26) сделать 10 экзешников и в каждом ресурс поправить с иконкой? гыгыгы... а попроще нет, универсального?
Гыгыгы, сразу видно человека, глубоко развращенного 1С: для остальных языков программирования "универсальное" и "попроще" совпадают крайне редко.
Альтернативный стартер 1С сможете написать? Ведь надо будет не просто прочитать и вывести список баз, но и предоставить возможность выбрать и где-то сохранить файл иконки, назначенный каждой базе.
Да, а еще отследить - в каком режиме запускается 1С? Для конфигуратора как, стандартную иконку будем подставлять или тоже пользовательскую?
Ну, а после всех этих предварительных ласк - основное: при запуске 1Сины (барабанная дробь) перехватить одну из функций Windows API (LoadIcon или LoadImage, я уже и не вспомню) и подставить вместо стандартной иконки 1С свою выбранную. Та-дам!
Разумеется, всё это милые пустяки... для тех, кто "на ты" с программированием на С, вы ведь входите в их число? И десяток стартманей за такую работенку - даже много, одного-двух вполне достаточно, так что - ждите-с!
(28) я бы мог любому студенту заказать, они Си проходят. Стартер особо не нужен.
Достаточно скрипт, который сравнивает заголовки приложений и меняет иконки при обнаружении нужного.
Запускается периодически или принудительно.
(30) ну я не сильно замотивирован на поиск решения, т.к. это досадная недоделка от 1с (или винды). Но в некотором роде это признак кризиса IT - то, что пользователи не могут простыми способами решить эргономические проблемы. Какой месседж хотите вы донести до меня, мне не понятно.
Наверняка это мешает многим, но все терпят, т.к. не очень критично.
Вы этим гордитесь, что пользователи кушают кактус и колятся?
(29) fixin,
Можно другим путем пойти.
Написать софтину, которая будет выводить окно со списком, в кором будут собраны все заголовки окон топлевела стартовым процессом для которых будет являться 1cestart.exe.
И по клику на нужном заголовке будите переходить к нужной 1С-ке путем посылания команды на активацию и разворот окна.
Ну и попробовать сгруппировать окна по какому-то слову в заголовке окна.
Будет 2 клика, но выбор окна будет точнее.
Софтину можно спрятать в трей например.
Как насчет такой идеи.
Заголовки можно посмотреть в диспетчере задач Windows.
И не надо будет ковыряться с иконками.
ПС. Я просто не думаю, что подкраска иконок сильно тебя выручит в этом плане. Ведь нужно переходить к конкретной 1С-ине. Не так ли?
(49) я использую панель задач, потому что она всегда на экране. Софтину еще вызывать надо, а тут тыкаешь по иконке и получаешь результат.
Речь об эффективной эргономике, тут каждый лишний тык мешает.
идеально все же было бы менять иконки.
(49) trdm, 1C-ники такие 1С-ники
на первой странице поиска гугла.:
Столкнулся с проблемой программной смены иконки, когда программа закреплена на панели задач(Windows 7). Если кто сталкивался с такой проблемой, подскажите как это можно сделать?
Есть такой «кустарный» вариант:
1. Сменить BorderStyle формы в bsDialog (что бы скрыть иконку в Caption)
2. Сменить иконку приложения, допустим, так:
Application.Icon := Image1.Picture.Icon;
или загрузив с ресурсов:
Application.Icon.Handle := LoadIcon(hInstance, 'имя иконки в ресурсах');
(55) PiccaHut001, думаю, что как минимум половина читателей этой ветки всё это нагуглила.
Вот бы кто написал консольную утилиту или расширение к CMDOW http://www.commandline.co.uk/cmdow/ способное искать окно по заголовку (с учётом кодировок) и менять в нём иконку,
или же написал работоспособный код, подключающий из 1С8 нужную DLL и отдающий ей нужную структуру ;-)
Собственно, задачу (1) fixin можно решить отдельной панелью инструментов на панели задач,
"забитой" разноцветными ярлыками на bat-скрипты с поиском и переключением (а можно и с запуском, если его нет)
на окно с нужным заголовком на базе CMDOW, но опыты показали, что время отработки подобного скрипта 2...3 секунды,
а, с учётом одинаковости заголовков одинаковых конфигураций, считаю этот путь тупиковым.
Если же это были закрепленные значки, то может достаточно их отсортировать и раскидать между ними полезных "разделителей"?
(28) Cooler, боюсь что декомпилированный код можно будет прочитать только в ассемблере (помню на паскале занимались давненько) и не зная двоичного кода не помню, чтоб можно было получить читабельный скомпилированный ранее код (щас точно не помню но кажется эт не только экзешников касаемо)
Назовите мне любую программу, которая умеет то, что хочет автор?
Нет таких? Или есть, но никому не известны и нафиг никому не нужны? Тогда вывод: либо править EXEшник(и) редактором ресурсов, либо падать в ноги 1С, бить челом и надеяться, что в релизе платформы версии этак 8.8 эта хотелка все-таки будет реализована.
Загрузка определенной иконки (предприятия или конфигуратора) прописана в коде EXEшника 1С.
Интересно, каким скриптом вы предполагаете изменить работу этого скомпилированного кода?
это досадная недоделка от 1с (или винды). Но в некотором роде это признак кризиса IT - то, что пользователи не могут простыми способами решить эргономические проблемы. Какой месседж хотите вы донести до меня, мне не понятно.
Наверняка это мешает многим, но все терпят, т.к. не очень критично.
Месседж примерно такой: самые досадные недоделки случаются за 9 месяцев до некоторых дней рождения. И в некотором роде это признак кризиса человечества, которое потом лет 70-80 вынуждено терпеть последствия, хотя многим они мешают, порой очень сильно.
(34) Win API позволяет менять заголовок приложения, думаю и иконку в таскбаре позволяет.
ваш месседж далек от профессионального направления нашей дискуссии, думаем еще над конкретной проблемой.
(46)В 1С хз, а так - вызовом sendmessage из user32.dll. Каким скриптом-то? Бач-скриптом виндовым скорее всего нельзя, пауэршеллом - скорее всего можно, но я не пробовал.
Ассемблер не нужен, винда позволяет перехватывать сообщения на прорисовку окон, в этот момент можно проверить заголовок окна установленный через параметры конфигурации у каждого окна и произвести замену иконки прорисовываемого окна, тут не ассемблер а обычный с++ + WindowsApi. Установите Visual c++, разбейте задачу на части обратитесь на форум сишников с отдельными проблемами, "как перехватить сообщения отрисовки других окон и найти окно по заголовку", "как подменить иконку если известен хэндл окна", "как запустить свою программу без отображения на панели задач" ... ну как добавить программу в автозапуск думаю для вас не вопрос, хотя если добавлять в службы то интереснее...
полностью согласен с постом (51), также хотел отметить что существуют софтины которые уже изначально заточены под всякие перехваты окон, подмену и скрытие значков, кнопок и заголовков. Например сам пользовал когда то давно Sign of Misery, прикольный скриптовик, много готовых примеров, можно в эту сторону посмотреть. Правда в основном эту прогу юзают для отключения триалов, поэтому не удивляйтесь если антивирусы ее блокировать будут. Ну и конечно ОСТОРОЖНОСТЬ) а то там и кнопку пуск можно грохнуть, а куда же без нее...
Если задачей является разбить кучу запущенных приложений по группам,
то может проще "копнуть" в сторону виртуальных рабочих столов
типа http://virtuawin.sourceforge.net/ ?
Есть у меня вполне обоснованное подозрение, что любую внешнюю утилиту,
меняющую иконку приложений 1С, тут же "запинают" правообладатели за "нарушение авторских прав",
поэтому вызов API следует делать "изнутри" приложения со всеми вытекающими из этого неудобствами.
А да, подскажу...реализовано штатными средствами без программирования...мдя...чем раньше думал
Скрины выложить не могу(автору темы конеш без вопросов) - это все карты раскроет сразу ;)
шютка.ответ в соседней теме
62.
МимохожийОднако
14219.10.14 10:36 Сейчас в теме
Допустим решена задача по генерированию разных значков, но их еще надо выучить. А когда появляется новое приложение, то его надо опять запоминать. Я бы таким путём не пошёл. Кроме Alt-Tab еще элегантное Win-Tab, когда выстраивается веер окошек.
(64) aron052, ЭТО - как раз важно. Должен же кто-то бороться с кризисом айти. Когда открыто 5 окошек бухгалтерии(тестовая, центральная, центральная с регламентными заданиями и 2 филиала), а кнопки на панели задач сгруппированы, как определить, в какую базу заходить? То-то. Недалёкие разрабочики 1С не озаботились функцией установки иконки для базы, теперь мучаемся.
Самое простое - играться заголовками программ. Иконки в принципе на уровне исполняемого кода подменять можно налету, только 1С эту функциональность не заложила (как и 99,9% производителей другого ПО). Стандартно не сделать. Проще все таки заголовками.
(75) у меня подсказка не возникает и она возникает с задержкой в секунду. Восемь иконок - восемь секунд потери времени в лучшем случае.
(72) чую одним местом, что на VBS это можно сделать, как процессы перебрать знаю, как Send Message сделать - не знаю.
(65) вот именно, миллионы леммингов тратят миллионы секунд рабочего времени на эту казалось бы ерунду.
Поддерживаю автора. Сам работал на несколько предприятий одновременно и в нескольких конфигурациях.
Для 1С 7.7 я писал внешнюю компоненту, один из методов которой (не основной) позволял установить иконку приложения.
Делается это стандартными функциями API.
Для 1С 8.2 мне это пока не нужно, но проблем нет.