Получение из реестра и отображение в ListView иконок установленных программ - C#

Узнай цену своей работы

Формулировка задачи:

Ситуация следующая. Пишу программу по сбору инфы об установленном по на компе (копаю в реестре). Сейчас мне нужно получить из реестра иконку программы и вывести ее в Listview. Нашел в инете, что инфа об иконке есть в ключе "DisplayIcon". Делаю следующим способом
 if ((subkey.GetValue("DisplayIcon").ToString().Substring(subkey.GetValue("DisplayIcon").ToString().Length - 3, 3) == "ico")) //|| (subkey.GetValue("DisplayIcon").ToString().Substring(subkey.GetValue("DisplayIcon").ToString().Length - 3, 3) == "exe"))
                                {
                                    try
                                    {                                
                                        byte[] ff = File.ReadAllBytes(subkey.GetValue("DisplayIcon").ToString());
                                        mynewrow.ItemArray = new object[] { null, frmFindPc.idPc, subkey.GetValue("DisplayName"), (subkey.GetValue("InstallDate")), (datascan.Substring(0, 10) + " " + timescan.Substring(0, 8)), ff };                            //,Convert.ToByte(ico)
                                        dsSoftPc.Tables["Soft"].Rows.Add(mynewrow);
                                    }
                                    catch
                                    {
                                       //сторонний код//
                                    }
                                }
                                else
                                {
                                    mynewrow.ItemArray = new object[] { null, frmFindPc.idPc, subkey.GetValue("DisplayName"), (subkey.GetValue("InstallDate")), (datascan.Substring(0, 10) + " " + timescan.Substring(0, 8)) };                            //,Convert.ToByte(ico)
                                    dsSoftPc.Tables["Soft"].Rows.Add(mynewrow);
                                }
. На сервер льется следующее значение:0x000001000D00101010000100040028010000D60000..... Загрузить с сервера в listview пока не могу. Вопрос собственно в следующем. Вообще-то в правильную сторону я копаю, может есть другие способы получения иконок установленных программ, может у кого есть интересные ссылки по этой теме или какие нибудь предложения? Буду очень признателен тем, кто не пройдет стороной данную тему!

Решение задачи: «Получение из реестра и отображение в ListView иконок установленных программ»

textual
Листинг программы
System.Drawing.Icon icon = System.Drawing.Icon.ExtractAssociatedIcon(fileName);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы