7

Я копилку и признаю это. Но, по крайней мере, я теперь отсортировал их по контекстным окнам, и я бы хотел, чтобы у каждого окна на панели задач Windows были разные значки (а не панель вкладок, которая управляется значками). Как этого достичь?

В качестве примера представьте, что у меня есть одно окно с различными вкладками StackExchange, для которого я хотел бы иметь логотип StackExchange в качестве значка, другое окно с репозиториями GitHub, которое должно иметь логотип GitHub, и третье окно с вкладками, характерными для проекта, для которого У меня есть собственный значок (или просто, например, цветная буква на логотипе Firefox).

Я бы также принял решение, которое позволяет просто использовать значок первой вкладки каждого окна, хотя независимость от этого предпочтительнее.

1 ответ1

2

Это можно сделать с помощью бесплатного AutoHotkey.

Создайте текстовый файл .ahk и введите следующее содержимое:

#Persistent
SetTitleMatchMode, 2    ; A window's title to contain the text anywhere

F9::
ChangeWindowIcon("title text", "\path\to\iconfile.ico")

ChangeWindowIcon(WinSpec, IconFile) {
    hIcon := DllCall("LoadImage", uint, 0, str, IconFile, uint, 1, uint, 0, uint, 0, uint, uint 0x10)
    if (!hIcon) {
        MsgBox, "Icon file missing or invalid in `nChangeWindowIcon(" IconFile ", " WinSpec ")`n`n"
        Throw "Icon file missing or invalid in `nChangeWindowIcon(" IconFile ", " WinSpec ")`n`n"
    }
    hWnd := WinExist(WinSpec)
    if (!hWnd) {
        MsgBox, Window Not Found
        return "Window Not Found"
    }
    SendMessage, WM_SETICON:=0x80, ICON_SMALL:=0, hIcon,, ahk_id %hWnd% ; Set the window's small icon
    SendMessage, WM_SETICON:=0x80, ICON_BIG:=1, hIcon,, ahk_id %hWnd%   ; Set the window's big icon
    SendMessage, WM_SETICON:=0x80, ICON_SMALL2:=2, hIcon,, ahk_id %hWnd%    ; Set the window's small icon
}

Сценарий активируется после нажатия клавиши F9, но вы можете установить свой собственный ключ. Добавьте столько вызовов к функции ChangeWindowIcon сколько требуется, каждый с параметрами:

  • Уникальный текст, который можно найти в заголовке
  • Полный адрес файла значка

Когда скрипт запущен, вы можете щелкнуть правой кнопкой мыши по его зеленому значку H на панели задач и выбрать «Выход» для завершения. Если это работает, вы также можете добавить его в свою группу запуска для запуска при входе в систему.

Обратите внимание, что AutoHotkey также может запускать ваши любимые вкладки и размещать их на экране. На самом деле AutoHotkey мало что может сделать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .