Как я могу получить значок окна из его указателя или имени процесса/процесса? Значок, отображаемый в углу окна, на панели задач или в меню ALT-Tab.
Как получить иконку окна в C#
comment
Найдите дескриптор окна и отправьте WM_GETICON
- person David Heffernan   schedule 02.04.2012
comment
@DavidHeffernan Это работает только на Windows Mobile, не так ли?
- person Dor Cohen   schedule 02.04.2012
comment
Дублировать stackoverflow.com/questions/462270/get -file-icon-used-shell
- person Odys   schedule 02.04.2012
comment
@dor Я не понимаю, при чем здесь WinMo.
- person David Heffernan   schedule 02.04.2012
Ответы (2)
читать о Icon.ExtractAssociatedIcon
:
Возвращает представление значка изображения, содержащегося в указанном файле.
private void ExtractAssociatedIconEx()
{
Icon ico =
Icon.ExtractAssociatedIcon(@"C:\WINDOWS\system32\notepad.exe");
this.Icon = ico;
}
http://msdn.microsoft.com/en-us/library/system.drawing.icon.extractassociatedicon.aspx
Это не будет работать на каждом процессе, но это хорошее начало.
также взгляните на эти ответы - Как я могу получить значок из исполняемого файла, только имея экземпляр его процесса в C#
person
Dor Cohen
schedule
01.04.2012
@CarsenDanielYates добро пожаловать, если вам понравился ответ, отметьте зеленую отметку и +1
- person Dor Cohen; 02.04.2012
Этот ответ неверен. Вопросы касаются значка, связанного с окном, а не с исполняемым файлом.
- person David Heffernan; 02.04.2012
@DavidHeffernan Прочитайте вопрос еще раз: как я могу получить значок окна из его указателя или имени процесса/процесса? (ИМЯ ПРОЦЕССА)
- person Dor Cohen; 02.04.2012
О, подожди, извини. Это не сработает, мне нужно сделать полную переделку оболочки, я должен получить значок от запущенных процессов.
- person Carsen Daniel Yates; 02.04.2012
Следующий бит говорит о значке, отображаемом в углу окна, на панели задач или в меню ALT-Tab. и тут на помощь приходит WM_GETICON.
- person David Heffernan; 02.04.2012
@DavidHeffernan Спасибо за комментарии, кажется, это хороший ответ. почему не опубликуете? или отредактируйте мой ответ, если хотите
- person Dor Cohen; 02.04.2012
Я не хочу отвечать, потому что вопрос противоречив. У процессов нет значков. Exe-файлы делают. Винды делают. Но не процессы.
- person David Heffernan; 02.04.2012