Есть ли способ изменить значок панели задач браузера в Windows?

Есть ли способ изменить значок панели задач браузера в Windows?

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

10.12.2008 17:27:58
Любой, у кого открыто более полудюжины веб-сайтов одновременно, имеет серьезные проблемы с вниманием, выбирайте свой любимый.
TravisO 10.12.2008 17:37:36
(Или, может быть, просто много сделать ...) :-)
leeand00 11.12.2008 13:48:58
2 ОТВЕТА
РЕШЕНИЕ

Вот что-то, что я собрал менее чем за 5 минут, чтобы изменить значок в определенном окне. Вы можете легко использовать этот код для создания winform, которая будет перечислять открытые в данный момент окна и позволять вам назначать им произвольные значки. (Код C # ниже)

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr FindWindow(string strClassName, string strWindowName);

[DllImport("user32.dll",CharSet=CharSet.Auto)]  
private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam); 

[DllImport("user32.dll")] 
public static extern int DrawMenuBar(int currentWindow);


const int WM_GETICON = 0x7F;
const int WM_SETICON = 0x80;
const int ICON_SMALL = 0; //16
const int ICON_BIG = 1; //32

public static void SetIcon()
{
    //Load an icon. This has to be a *.ico.
    System.Drawing.Icon i = new Icon("path\to\icon");
    //Find the target window. The caption must be entered exactly 
    //as it appears in the title bar
    IntPtr hwnd = FindWindow(null, "Caption of Target Window");
    //Set the icon
    SendMessage(hwnd, WM_SETICON, (IntPtr)ICON_SMALL, (IntPtr)i.Handle);
    //Update the title bar with the new icon. Note: the taskbar will
    //update without this, you only need this if you want the title
    //bar to also display the new icon
    DrawMenuBar((int)hwnd);
}
5
10.12.2008 19:04:49
Вот Это Да! Я попробую это позже!
leeand00 10.12.2008 21:36:00
Это очень хорошо, спасибо за публикацию. Но я просто хотел бы отметить, что этот код предоставляет (предположительно) значок 32x32 для использования 16x16, что означает, что Windows будет уменьшать его выборку. Если возможно, лучше предоставить настоящий значок 16x16, а также значок 32x32, который Windows будет использовать для меню Alt-Tab и (для Windows 7) панели задач. Чтобы указать два размера значков, вам нужно использовать SendMessage дважды. Смотрите здесь, например: blog.barthe.ph/2009/07/17/wmseticon
RenniePet 27.07.2012 15:11:37

Я считаю, что на панели задач используется ресурс значка, встроенный в исполняемый файл. Я попытался создать несколько ярлыков для Internet Explorer, каждый из которых имел уникальный ярлык, но все они имели одинаковый значок при открытии на панели задач.

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

1
10.12.2008 17:48:24