Переменные Окружения (Environment Variables) как создавать?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Переменные Окружения (Environment Variables) как создавать?

Сообщение Wolfie » 20.05.2007 (Вс) 19:42

Здравствуйте, не подскажите ли:
Какими функциями работают с перменными окружения (кроме Environ), а главное - как их создавать... Можно и через командную строку, но на SET mydir="c:\my" ругается File Not Found - т.е. как команду shell не воспринял...
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

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

Сообщение tyomitch » 20.05.2007 (Вс) 20:13

SetEnvironmentVariable
Изображение

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 20.05.2007 (Вс) 22:07

tyomitch спасибо, но поиск по этой функции не возвращает ни одного результата, стал ковырять в сайтах по API - один в разработке, другой не существует...
стал всапоминать как там у Google: lang=basic "SetEnvironmentVariable" ? ничо не дало... подскажите пожалуйста с Declare :)
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 20.05.2007 (Вс) 22:50

Загляни в api-guide, там есть :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 21.05.2007 (Пн) 0:04

RammberLabs [aka Ale-Top ] если ты хочешь,чтобы чтобы и этот аккаунт забанили (а его наверное и так забанят, но ты можешь значительно ускорить этот процесс), то может писать и далее бессодержательные сообщения "с вызовом".

Попытайся с уважением относиться к участникам, и к их сообщениям; хотя бы так.

Мог написать "Можешь посмотреть в MSDN". Однако эффективность поиска в MSDN куда ниже, чем в Api-guide. Потому что там помимо информации о WinAPI, полно всего подряд. Ну и потом - там описание сишное. Сишное описание это совсем не плохо. Однако в API-Guide VB-шная декларация. И контексте этого форума последняя будет всегда ценнее сишной. Исключительные ситуации я в расчёт не беру.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение alibek » 21.05.2007 (Пн) 2:39

Wolfie писал(а):стал всапоминать как там у Google: lang=basic "SetEnvironmentVariable" ?

И зачем?
Искать надо declare SetEnvironmentVariable.
Lasciate ogni speranza, voi ch'entrate.

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 22.05.2007 (Вт) 16:49

за совет с апи-гид спасибо :wink: нашел
Код: Выделить всё
Private Declare Function SetEnvironmentVariable Lib "kernel32" Alias "SetEnvironmentVariableA" (ByVal lpName As String, ByVal lpValue As String) As Long
(написал, чтобы если кто по этому форуму искать будет, нашел ;) )
как там у Google: lang=basic
ну просто, я забыл как этим пользоваться, вот надеялся, что кто-нить мне напомнит :)

Теперь вот 2 вопроса, прошу еще подсказать:
1. Чтобы удалить пременную из памяти, достаточно присвоить ей пустую строку? SET так в CMD делает ведь? Или нужна отдельная функция?
2. Системны переменные я тоже могу перезадать? ну там APPDATA или SESSIONNAME ? - а то придется писать "защиту от дурака", вдруг случайно или несознательно я\пользователь выкинет такую вот пременную или изменит...?
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

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

Сообщение tyomitch » 22.05.2007 (Вт) 16:56

1. да
2. можешь
Изображение

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 22.05.2007 (Вт) 17:06

tyomitch спасибо

а изменение системных переменных может критически сказаться на работе ОС? и как вообще мне определять, не используя черных или белых списков, системная или нет переменная?
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

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

Сообщение tyomitch » 22.05.2007 (Вт) 17:07

Нет, критически сказаться не может.
Изображение

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 22.05.2007 (Вт) 17:11

Ну тогда, пожалуй сделаю небольшой черный список под ХР из переменных, которые "ни-ни", ну и пусть себе меняет, если вдруг я в списке не все учту... спасибо всем, кто помог :)
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 87

    TopList