иконки и названия системных папок...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
drronnie
Постоялец
Постоялец
 
Сообщения: 793
Зарегистрирован: 04.03.2002 (Пн) 22:29
Откуда: Украина, Алчевск

иконки и названия системных папок...

Сообщение drronnie » 22.07.2003 (Вт) 2:19

как получить иконки и названия системных папок (мой компьютер, мои документы, недавние документы... и т.д.) а названия... ну допусти по-русски "Рабочий стол"... по-буржуйски - Desktop и т.д.
А ещё как получить иконку папки... простой папки....? ну если она не стандартная...
Компиляция - перевод словесного поноса в машинный код.

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Re: иконки и названия системных папок...

Сообщение moderator » 22.07.2003 (Вт) 17:49

drronnie писал(а):как получить иконки и названия системных папок (мой компьютер, мои документы, недавние документы... и т.д.) а названия... ну допусти по-русски "Рабочий стол"... по-буржуйски - Desktop и т.д.
А ещё как получить иконку папки... простой папки....? ну если она не стандартная...


1. По поводу иконок - смотри desktop.ini в такой нестандартной папке, это вроде то, что ты ищешь.

2. Названия хранятся в Реестре. regedit тебе в помощь :wink:
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 22.07.2003 (Вт) 17:59

Да, а ещё Regmon
http://poetry.mooo.com
http://poetry.myboard.info
«Человек есть нечто, что до́лжно превзойти» (Ф. Ницше)

drronnie
Постоялец
Постоялец
 
Сообщения: 793
Зарегистрирован: 04.03.2002 (Пн) 22:29
Откуда: Украина, Алчевск

Сообщение drronnie » 23.07.2003 (Ср) 0:13

2moderator а конкретнее... ключи, параметры....
ну и иконки ... там тоже на них линки как в desktop.ini?
Компиляция - перевод словесного поноса в машинный код.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 23.07.2003 (Ср) 2:15

Вся эта фигня находится в System Image List.... :!:
Dmitrich

drronnie
Постоялец
Постоялец
 
Сообщения: 793
Зарегистрирован: 04.03.2002 (Пн) 22:29
Откуда: Украина, Алчевск

Сообщение drronnie » 23.07.2003 (Ср) 2:51

Dmitriy2003, а что это есть такое? Где искать и т.д....?
Компиляция - перевод словесного поноса в машинный код.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 23.07.2003 (Ср) 3:12

Где искать хороший вопрос. А еще что делать когда найдеш?
Вообщем про System Image List я имел ввиду только иконки.
Названия всех специалиных папок определены в MSDN как константы например CSIDL_DESKTOP. Что касается иконок то здесь необходимо создать обект 'папку' ну как в ехплорер только вот интерфейс этот напрямую из VB недоступен я ставил Вопрос на форуме насчет использования IShellFolder но пока никто не ответил а ведь Вы тос=чно моглибы им воспользоваться. Вообщето есть еще библиотека типов win но это как Вы говорите "буржуйский продукт" и использовать его по меньшей мере неэтично. Зато там есть этот интерфейс да и еще много чего. :!:
Dmitrich

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 23.07.2003 (Ср) 10:09

Dmitriy2003 писал(а):Где искать хороший вопрос. А еще что делать когда найдеш?
Вообщем про System Image List я имел ввиду только иконки.
Названия всех специалиных папок определены в MSDN как константы например CSIDL_DESKTOP. Что касается иконок то здесь необходимо создать обект 'папку' ну как в ехплорер только вот интерфейс этот напрямую из VB недоступен я ставил Вопрос на форуме насчет использования IShellFolder но пока никто не ответил а ведь Вы тос=чно моглибы им воспользоваться. Вообщето есть еще библиотека типов win но это как Вы говорите "буржуйский продукт" и использовать его по меньшей мере неэтично. Зато там есть этот интерфейс да и еще много чего. :!:


вот, например, кусок из моего desktop.ini из папки "Мои Рисунки" в WinXP:

Код: Выделить всё
[.ShellClassInfo]
InfoTip=@Shell32.dll,-12688
IconFile=%SystemRoot%\System32\mydocs.dll
IconIndex=-101
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

drronnie
Постоялец
Постоялец
 
Сообщения: 793
Зарегистрирован: 04.03.2002 (Пн) 22:29
Откуда: Украина, Алчевск

Сообщение drronnie » 27.07.2003 (Вс) 6:56

ну что никак???
Компиляция - перевод словесного поноса в машинный код.

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 27.07.2003 (Вс) 8:03

Вообще все иконки обычно в shell32.dll лежат. Поссмотри RESTORATOR'ом как они там называются (в разных версиях винды эти имена не меняются) и ковыряй потом уже из VB этот файл.

drronnie
Постоялец
Постоялец
 
Сообщения: 793
Зарегистрирован: 04.03.2002 (Пн) 22:29
Откуда: Украина, Алчевск

Сообщение drronnie » 28.07.2003 (Пн) 0:41

2Oxygen а если устаньовлена иконка не по умолчанию а другая... вот где на неё ссылочку найти, мол в таком-то файле живёт....
Компиляция - перевод словесного поноса в машинный код.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 29.07.2003 (Вт) 1:38

Давай какой нибудь маил куда выслать библиотеку типов если разберешся как с ней работать будут все значки и по умолчанию и нет. ну а с остальным ничем помочь не могу. Или покупай книгу Visual Basic Крепкий Орешек издание второе. По любому книжка полезная.
---------------------------
Фаил 606 kb будет вложенным. Со своей стороны обязуюсь вирусов не слать, но блин хулиганов много так что желательно принимать меры так сказать предосторожности. :idea:
Dmitrich

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 29.07.2003 (Вт) 2:14

Насчет библиотеки я передумал. Однако есть совсем простой путь:
В MSDN написанно -
SHGetFileInfo
(Retrieves information about an object in the file system, such as a file, a folder, a directory, or a drive root.)

DWORD_PTR SHGetFileInfo(
LPCTSTR pszPath,
DWORD dwFileAttributes,
SHFILEINFO *psfi,
UINT cbFileInfo,
UINT uFlags
);

Это то и есть решение проблемы!!!!

typedef struct _SHFILEINFO{
HICON hIcon;
int iIcon;
DWORD dwAttributes;
TCHAR szDisplayName[MAX_PATH];
TCHAR szTypeName[80];
} SHFILEINFO;

Удачи.....
:P
Dmitrich

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 30.07.2003 (Ср) 3:24

Я же не зря про книгу говорил. К ней СД прилагается там ента tlb в ANSI и Unicode исполнении. Последнее на мой взгляд наиболее ценное так как позволяет напрямую работать с уникод функциями что не сделать через деклар. Aber ich weiß nicht оой чето замыкать сталл. Не знаю я где ее стянуть можно. Мож на сайте автора. Да лучший вариант энто MIDL или ODL изучить и тогда писать самому.
---------------------------------------------------------
Насчет иконки моего комьютера и других виртуальных папок можно попробовать так:
Передать в функцию SHGetFileInfo не путь а пидл фолдера. А получить пидл виртуального фолдера лучше с помощью

SHGetSpecialFolderLocation
Retrieves a pointer to the ITEMIDLIST structure of a special folder

нужно только правильные флаги выставить в SHGetFileInfo. Но я не проверял етот вариант. По моему должно сработать. Короче вызывеш - >

HRESULT SHGetSpecialFolderLocation(
HWND hwndOwner,
int nFolder,
LPITEMIDLIST *ppidl
);
например:
nFolder -> CSIDL_DRIVES =&H11

получаеш пидл и вперед в SHGetFileInfo. Может и сработает. :idea:
Dmitrich


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот и гости: 4

    TopList