Кам образом можно узнавать иконки прикрепленные за директори

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

JStingo
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 31.07.2002 (Ср) 18:39
Откуда: Kazakhstan, Pavlodar

Кам образом можно узнавать иконки прикрепленные за директори

Сообщение JStingo » 17.08.2005 (Ср) 10:21

Вопрос вот в чем, каким образом можно узнавать иконки прикрепленные за директориями и файлами? Или может быть ссылочку на БЕСПЛАТНЫЙ конторол, который бы позволял проматиривать файлы и дирректории компьютера а-ля Explorer.
===============================
Программистами не становятся, ими рождаются
===============================

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 17.08.2005 (Ср) 11:29

жажда халявы сильнее внимательности?
Смотри Object Browser! А больше я ничего не скажу!
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Krasavica
Небожительница
Небожительница
Аватара пользователя
 
Сообщения: 1378
Зарегистрирован: 04.11.2003 (Вт) 17:51
Откуда: Россия, город-герой Москва ;-)

Сообщение Krasavica » 17.08.2005 (Ср) 13:09

JStingo

На контрол ссылку не подскажу, но иконку можно получить так:

HKEY_CLASSES_ROOT\.расширение\
.расширение - это расширения файлов, создайте свой раздел с тем расширением который у вас, в значение по умолчанию ставите программу, которая должна открыть данный файл, после перезагруза ярлык файла становится как у программы. Для директорий внутри каталога создается файлик desktop.ini, который содержит следующее:
[.ShellClassInfo]
IconFile=%SystemRoot%\system32\SHELL32.dll - файл в котором искать иконку
IconIndex=177 -ID номер её :)

Либо:

[DllImport("Shell32.dll", CharSet=CharSet.Auto)]
private static extern int SHGetFileInfo(string pszPath, int dwFileAttributes, ref SHFILEINFO psfi, int cbfileInfo, int uFlags);

[StructLayout(LayoutKind.Sequential)]
private struct SHFILEINFO
{
private const int MAX_PATH = 260;
public IntPtr hIcon;
public int iIcon;
int dwAttributes;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=MAX_PATH)]
string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=80)]
string szTypeName;
} // small icon



int handle = SHGetFileInfo(filePath, 0x4000, ref info, Marshal.SizeOf(info), 0x111);
System.Drawing.Icon ico = System.Drawing.Icon.FromHandle(info.hIcon);


А отображать в стандартном TreeView :)

я - ангел!!! ...просто крылья в стирке, а нимб на подзарядке!
Меня трудно найти, легко потерять и невозможно забыть.Изображение

AlexM
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 25.06.2002 (Вт) 11:26
Откуда: Украина, Житомир

Сообщение AlexM » 17.08.2005 (Ср) 15:05

To JStingo:

Посмотри эту ссылку http://www.codeproject.com/vb/net/VbNetExpTree.asp.

Я думаю, это - то что надо. Там контрол + исходник на VB.NET.

JStingo
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 31.07.2002 (Ср) 18:39
Откуда: Kazakhstan, Pavlodar

Сообщение JStingo » 18.08.2005 (Чт) 8:32

Krasavica, еще раз большое спасибо за ответы,все бы так по существу отвечали (тонкий намек на Sebas).
И да, AlexM, спасибо за ссылочку.
===============================
Программистами не становятся, ими рождаются
===============================

Krasavica
Небожительница
Небожительница
Аватара пользователя
 
Сообщения: 1378
Зарегистрирован: 04.11.2003 (Вт) 17:51
Откуда: Россия, город-герой Москва ;-)

Сообщение Krasavica » 18.08.2005 (Чт) 10:35

JStingo писал(а):Krasavica, еще раз большое спасибо за ответы...


Не за что :)

JStingo писал(а):...все бы так по существу отвечали (тонкий намек на Sebas).


Он профи и может себе позволить отвечать как хочет :) Тем более у него стиль такой :) А я не профи, отвечаю только там где знаю ответ, так сказать TTBOMK :)
я - ангел!!! ...просто крылья в стирке, а нимб на подзарядке!
Меня трудно найти, легко потерять и невозможно забыть.Изображение


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList