powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Установить значок приложения (иконку) для заданного процесса, как?
23 сообщений из 23, страница 1 из 1
Установить значок приложения (иконку) для заданного процесса, как?
    #36595192
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процессы могу перебрать. А вот как установить иконку для нужного приложения?
Нужно не через API, а через OLE или командную строку (из VBA, Jscript).
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Set Locator = CreateObject("WbemSсripting.SWbemLocator")
Set Services = Locator.ConnectServer(".")
Set Items = Services.ExecQuery("SELECT * FROM Win32_Process WHERE NAME LIKE '%1s8.exe%'")
For Each Item In Items
Debug.Print Item.Name
Debug.Print Item.CommandLine
Debug.Print Item.ExecutablePath
Debug.Print Item.Caption
Debug.Print "---------------"
Next
Обсуждение на дубовом форуме
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36619978
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аппну
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36619985
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на пальцах и по подробнее, что ты хочеш-то?
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36629579
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!А на пальцах и по подробнее, что ты хочеш-то?

Дык куда уж подробнее.
Умею найти нужный процесс. Как назначить ему иконку из нужного файла?
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36671274
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну помогите же.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36671420
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fixin,
получить иконку можно. А "назначить", что ты этим хочешь сделать? Перезаписать память процесса с целью замены значка? Или что? И если вдруг как бы значок назначается... Где это отобразится должно? Не понятно ничего
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36791828
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VSVLADFixin,
получить иконку можно. А "назначить", что ты этим хочешь сделать? Перезаписать память процесса с целью замены значка? Или что? И если вдруг как бы значок назначается... Где это отобразится должно? Не понятно ничего

блин, ну чего же непонятного то? Хочу чтобы значок приложения в таск-баре заменился другим???
Это что, сложно? Это надо память процесса перезаписывать? Разве значок в памяти процесса, а не в винде хранится.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36854849
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аппну пожалуй.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36856455
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fixinполучить иконку можно. А "назначить", что ты этим хочешь сделать? Перезаписать память процесса с целью замены значка? Или что? И если вдруг как бы значок назначается... Где это отобразится должно? Не понятно ничего

"Значки приложения" хранятся в исполняемом файле, в секции описания ресурсов. При создании процесса - загрузки исполняемого модуля(запуске) - на равне с загрузкой .dll и шрифтов используемых приложением, в том числе загрузчик "винды" просматривает исполняемый модуль на предмет наличия "значка приложения" и если его находит то тогда этот значек будет отображаться в том же диспетчере задач... Т.е. значок хранится не в винде.
Это происходит единожды, при создании процесса, вообщето, и остается так до самого завершения процесса.
В том случае если у приложения нет значка приложения. исполузуется "стандартный виндовый" значок, который хранится в shell32.dll.

Простой вариант изменить значок - отредактировать его непосредственно в .exe файле. Соответственно сколько нужно значков столько и .exe-шников.
Но есть лицензионные соглашения, в которых запрещается редактировать эти самые .exe-шники, если конечно это не GPL... :)


Если тебе без этого никак... то тогда:

Для того чтоб изменить значок у запущенного процесса...
Во-первых, ты должен влезть в адресное пространство чужого процесса, дабы там заменить этот значок.
Во-вторых, приложение может просто упасть от такой неожиданности, если приложение само не упадет придется уладить вопрос как-то с антивирусниками, потому как это называется инжект в адресное пространство чужого процесса и характерно для вирусов.
В третьих, ты много знаеш о формате исполняемого файла и знаеш ли ты ассемблер(может потребоваться и он), владеешь ли ты какими-то отладчиками - OlyDebuger например.

А для тебе чего потребовалось изменить значок-то?
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36859090
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!
А для тебе чего потребовалось изменить значок-то?

Слушай, а почему Билл Гейтс так тупо написал Винду, что нельзя изменить значок запущенного приложения? Размеры окна изменить можно, а значок нет - ну что за бред. В Маках тоже?

Зачем мне это надо я уже писал. Запускаю штук 10 баз 1с сразу и у всех них одинаковый значок. Очень неудобно разбираться в списке задач. Хочется найти решение. Можно устанавливать значок при запуске, только как! Экзешник у всех один.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36859151
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FixinСлушай, а почему Билл Гейтс так тупо написал Винду, что нельзя изменить значок запущенного приложения? Размеры окна изменить можно, а значок нет - ну что за бред. В Маках тоже?

Ну это ты на технэте спроси, что-ли :)

FixinЗачем мне это надо я уже писал. Запускаю штук 10 баз 1с сразу и у всех них одинаковый значок. Очень неудобно разбираться в списке задач. Хочется найти решение. Можно устанавливать значок при запуске, только как! Экзешник у всех один.
Зачем изобретать велосипед?
Если у тебя 8.х то в каком-нибудь глобальном модуле
Код: plaintext
УстановитьЗаголовокПриложения("Нужный тебе закголовок")
Ну или в любой внешней отчете/обработке, и наслаждайся.
Если 7.7 то спроси в ветке 1С, или посмотри сам в документации.

А зачем ты использовал WMI?
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36859162
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fixin
Слушай, а почему Билл Гейтс так тупо написал Винду, что нельзя изменить значок запущенного приложения? Размеры окна изменить можно, а значок нет - ну что за бред. В Маках тоже?


А чтобы такие хякеры типа тебя не смогли на лету изменять ПО, это первое.
Второе, внимательно прочитай лицензионное соглашение любой платной программы, там написано черным по белому, вообще запрещено вскрывать, декомпилировать, изменять... программный код. Ты нарушаешь законодательство.
И последнее, закажи в 1С специальную версию с различными значками!
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36859221
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать потребные ярлыки на рабочем столе, в меню "пуск" и т.д. религия на позволяет?
Специально поэкспериментировал на Far - не 1С, конечно, но пяток Far-ов с разными иконками в трее получить вполне удалось....
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36859222
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно?
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36867020
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

К сожалению, не оно. То, о чем вы говорите, актуально только для DOS-приложений (Far - как раз одно из них). Win-приложения берут значок не из ярлыка. Вопрос по-прежнему актуален!
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36867022
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!
Код: plaintext
УстановитьЗаголовокПриложения("Нужный тебе закголовок")
А зачем ты использовал WMI?

Коллега, уж до этого я бы и сам додумался, но - это не значок приложения, а текст, в списке запущенных задач видны только иконки, без текста. Это раз.
А во-вторых для конфигуратора 1с такая маза не прокатит, только для 1с предприятия. Это два.

А WMI я использовал, чтобы прибить оставшиеся открытыми OLE-объекты типа приложений офиса или IE.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36867046
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fixinandrey_anonymous,

К сожалению, не оно. То, о чем вы говорите, актуально только для DOS-приложений (Far - как раз одно из них). Win-приложения берут значок не из ярлыка. Вопрос по-прежнему актуален!
Far никогда ДОС приложением не был.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36867137
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly PodgoretskyFixinandrey_anonymous,

К сожалению, не оно. То, о чем вы говорите, актуально только для DOS-приложений (Far - как раз одно из них). Win-приложения берут значок не из ярлыка. Вопрос по-прежнему актуален!
Far никогда ДОС приложением не был.

Возможно Фар - консольное приложение. Но мне не помогло. Я создал ярлык на 1с, а он отображается со значком 1с, а не со значком ярлыка. Подозреваю, что для notepad, например, все обстоит аналогично.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36926396
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так все же, есть идеи или нет?
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36926904
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fixin,

Понимаете ли, в чём дело... Рассматривать запуск нескольких копий stadalone-приложения vs. нескольких копий оболочки БД - просто несостоятельно... Если вы запустите ОДНОГО КЛИЕНТА несколько копий ОДНОЙ БД и желаете иметь РАЗНЫЕ ярлычки для этих копий... что-же, только модификация связанного имиджа с хэндлом окна открытой копии БД... что уже само по себе модификация runtime-кода.
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36926908
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу-ты... ночь на дворе, засмотрелся на определения :)
Конечно, самый легкий вариант - именно заменить иконки в окнах процессов (но для этого, естественно, в фоне должен висеть обработчик хэндлов окон по признакам, да хоть s0m'ом скрипт написАть...).
...
Рейтинг: 0 / 0
Установить значок приложения (иконку) для заданного процесса, как?
    #36939308
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMТьфу-ты... ночь на дворе, засмотрелся на определения :)
Конечно, самый легкий вариант - именно заменить иконки в окнах процессов (но для этого, естественно, в фоне должен висеть обработчик хэндлов окон по признакам, да хоть s0m'ом скрипт написАть...).

Вот через COM это можно сделать? Хочу именно в окнах процессов поменять, ориентируясь, например, на заголовок окна.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Установить значок приложения (иконку) для заданного процесса, как?
    #38772200
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аппну.
Вот как это безобразие выглядит, ужасно:

...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Установить значок приложения (иконку) для заданного процесса, как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]