Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Дерево для проводника

2.5K
06 октября 2003 года
Alex(GIE)
10 / / 08.01.2003
Пишу просмотровщик графич. файлов, использую для него дерево (CTreeCtrl)- как в проводнике. Не могу дорубить, как сделать верхний уровень, то есть пункты рабочий стол, мой компьютер, мои документы, и т.д. В NT виндах папки рабочий стол и мои документы раскиданы по профилям пользователя ..., и как это сделать - версии кончились. И еще одно - как отображать сетевое окружение (запрос - какие компы есть в сети, какие папки у них расшарены)?
2.5K
14 октября 2003 года
Alex(GIE)
10 / / 08.01.2003
Может кто-нибудь знает как в системном списке иконок (получаю
////////
SHFILEINFO shFinfo;
HIMAGELIST hImgList = NULL;
hImgList = (HIMAGELIST)SHGetFileInfo( "C:\\",0,
&shFinfo,sizeof( shFinfo ),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON );
////////
)
найти номера иконок, соответствующих "моему компьютеру", "рабочему столу", "сетевому окружению".
И очень важно, как получить список компов в сети, и их расшаренных папок. (Неужели никто не знает, или просто я неправильно спрашиваю).
239
14 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by Alex(GIE)
Может кто-нибудь знает как в системном списке иконок (получаю
////////
SHFILEINFO shFinfo;
HIMAGELIST hImgList = NULL;
hImgList = (HIMAGELIST)SHGetFileInfo( "C:\\",0,
&shFinfo,sizeof( shFinfo ),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON );
////////
)
найти номера иконок, соответствующих "моему компьютеру", "рабочему столу", "сетевому окружению".
И очень важно, как получить список компов в сети, и их расшаренных папок. (Неужели никто не знает, или просто я неправильно спрашиваю).



Переменные, хранящие путь к рабочему стола current user-а всегда можно найти через Win32 API функции, да в принципе и все остальное тоже. Потом эмулируешь, будто мой комп. находится на рабочем столе вместе с папками и ярлыками, а из него все остальное делаешь. По поводу сети сложнее... но, насколько я знаю, в АПИ тоже есть соотв. функции.

2.5K
15 октября 2003 года
Alex(GIE)
10 / / 08.01.2003
Цитата:
Originally posted by Dolonet


Переменные, хранящие путь к рабочему стола current user-а всегда можно найти через Win32 API функции, да в принципе и все остальное тоже. Потом эмулируешь, будто мой комп. находится на рабочем столе вместе с папками и ярлыками, а из него все остальное делаешь. По поводу сети сложнее... но, насколько я знаю, в АПИ тоже есть соотв. функции.



Я в Win32 API по МSDN и искал. Но то ли меня подвел мой английский (учу, но еще пока не супер), то ли ... ну в общем ни то ни то не нашел. А MFC - функции мне бы не подошли. Проект без MFC (напрямую с API).

380
15 октября 2003 года
Arestov
285 / / 20.09.2000
дерево надо строить начиная не с файлов, а с рабочего стола, IShellFolder к которому получаешь через SHGetDesktopFolder, из IShellFolder можно получить (используя IShellFolder::GetUIObjectOf) IExtractIcon который, путь к исконке и саму иконку. А также из IShellFolder'а перечисляешь всех потомков от Desktop'а. Очень удобно и быстро стоиться дерево (сохраняй указатели на IShellFolder в ItemData), методы позволяют узнать есть ли у папки подпапки и ты можешь добавить в дерево временные подэлементы, кажем с названием '*'( чтобы были "плюсики" у папок), когда юзер щелкает на папку ты проверяешь подэлемент если он '*', то удаляешь временный подэлемент и заполнаяешь потомков, иначе потомки уже заполнены.


P.S. кстати узнать РЕАЛЬНЫЕ путьи к папкам типа MyDocuments, Desktop и подобным можно использовать
SHGetFolderPath
SHGetSpecialFolderLocation
SHGetSpecialFolderPath


удачи!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог