Узнать путь к "Мои Документы"

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

Узнать путь к "Мои Документы"

Сообщение Tok » 08.08.2004 (Вс) 18:42

Подскажите как получить путь к этой и другим подобным дирректориям?
Наверное вопрос подобный уже задавался, но к сожлению я не отыскал ответа на него.
Back from the dead
I am resurrected
to spew, putrefaction...
http://gutted.nm.ru

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 08.08.2004 (Вс) 18:48

А каким способом тебе нужно его узнать?

Tok
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 28.09.2003 (Вс) 16:14
Откуда: Алчевск (Украина)

Сообщение Tok » 08.08.2004 (Вс) 18:56

Любым. Нужно получить путь типа "C:\Documents adn Settings\User\Мои Документы\".

И вообще хотелось бы узнать, как получать пути к системным папкам...

Может для VB существуют переменные среды? Если да, то как их пользовать?
Back from the dead
I am resurrected
to spew, putrefaction...
http://gutted.nm.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 08.08.2004 (Вс) 19:17

Пример от Оловянникова: http://groups.google.com/groups?selm=7u ... put=gplain

А вот ещё мой пример, не использующий shfolder.dll: http://groups.google.com/groups?selm=10 ... put=gplain
Последний раз редактировалось tyomitch 08.08.2004 (Вс) 19:27, всего редактировалось 1 раз.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 08.08.2004 (Вс) 19:20

Tok писал(а):Может для VB существуют переменные среды? Если да, то как их пользовать?

Конечно, есть ;-)
Environ Function

Returns the String associated with an operating system environment variable.

Syntax

Environ({envstring | number})

The Environ function syntax has these named arguments:

Part Description
envstring Optional. String expression containing the name of an environment variable.
number Optional. Numeric expression corresponding to the numeric order of the environment string in the environment-string table. The number argument can be any numeric expression, but is rounded to a whole number before it is evaluated.

Remarks

If envstring can't be found in the environment-string table, a zero-length string ("") is returned. Otherwise, Environ returns the text assigned to the specified envstring; that is, the text following the equal sign (=) in the environment-string table for that environment variable.

If you specify number, the string occupying that numeric position in the environment-string table is returned. In this case, Environ returns all of the text, including envstring. If there is no environment string in the specified position, Environ returns a zero-length string.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 09.08.2004 (Пн) 15:58

Environ("USERPROFILE")

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 10.08.2004 (Вт) 6:50

Konst_One писал(а):Environ("USERPROFILE")

Работает только на NT.
الفيجوال بيسك الرابح

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 10.08.2004 (Вт) 10:29

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DocFolderPaths]
"TEST"="C:\\Documents and Settings\\TEST\\Мои документы"

!!!!!это в ХР!!!!!
TEST - имя учетной записи...
Для остальных папок найдешь, там же в реестре :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.08.2004 (Вт) 11:16

Шурик писал(а):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DocFolderPaths]
"TEST"="C:\\Documents and Settings\\TEST\\Мои документы"

!!!!!это в ХР!!!!!
TEST - имя учетной записи...
Для остальных папок найдешь, там же в реестре :)

А имя учётной записи как узнать? ;-)
Это я про то, что возни получится неоправданно много.
Не проще ли - как я показывал - через SHGetSpecialFolderLocation?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.08.2004 (Вт) 14:19

используй APPDATA:
Environ("APPDATA")
удаляй с конца строки : Application Data
а вместо этого вставляй: My Documents

На XP работает, проверено :)

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.08.2004 (Вт) 14:22

вот прога для проверки, что у тебя в environments:
Вложения
environment.rar
(3.75 Кб) Скачиваний: 42

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.08.2004 (Вт) 14:30

Konst_One, AppData и MyDocuments могут находится не только в разных путях (кстати, у них и имена папок разные для разных локализаций), но и на разных дисках, поверь мне как админу.
Самый правильный вариант - SHGetSpecialFolderLocation
Lasciate ogni speranza, voi ch'entrate.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.08.2004 (Вт) 14:31

спасибо, учту :P

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.08.2004 (Вт) 15:00

Посмотри в HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Там могут быть следующие параметры (их назначение очевидно из названия):
"Desktop"
"AppData"
"LocalAppData"
"Favorites"
"Recent"
"Personal"
"Templates"
"SendTo"
"NetHood"
"PrintHood"
"StartMenu"
"Programs"
"Startup"
"Cache"
"Cookies"
"History"
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.08.2004 (Вт) 16:39

Konst_One писал(а):вот прога для проверки, что у тебя в environments:

Ну вы, блин, даёте. Windows-R -> cmd -> set уже отменили, что ли?
Скоро для нажатия кнопки Пуск отдельную прогу будете писать...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.08.2004 (Вт) 16:51

эту тулза вполне нужная - из нее можно копировать быстрее и всегда под рукой :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.08.2004 (Вт) 20:46

Дело вкуса. Из консольного окна тоже копируется мгновенно.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.08.2004 (Вт) 21:43

Ну я же говорю, вредный и нехороший человек :)
Пришёл, открыл тайну команды SET и низвёл до плинтуса полезность программы - ведь люди ж старались, ну что ж такое... :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

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

    TopList