Как прочитать системные переменные Windows

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sandr0
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 17.11.2004 (Ср) 16:26
Откуда: Rostov-on-Don

Как прочитать системные переменные Windows

Сообщение Sandr0 » 01.11.2005 (Вт) 11:04

Мое почтение!

Сабж собственно.
в консоли набираем set... видим temp=c:\temp
а как это в VB получить-то?

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

Сообщение alibek » 01.11.2005 (Вт) 11:18

Environ$
Lasciate ogni speranza, voi ch'entrate.

Sandr0
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 65
Зарегистрирован: 17.11.2004 (Ср) 16:26
Откуда: Rostov-on-Don

Сообщение Sandr0 » 01.11.2005 (Вт) 11:22

гранд мерсю!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 01.11.2005 (Вт) 17:35

alibek писал(а):Environ$


Лучше GetTempPath.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

и то и то

Сообщение NIC » 02.11.2005 (Ср) 2:28

и то и то канает.
Только есть нюансики...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 02.11.2005 (Ср) 3:04

И какие же?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

Сообщение NIC » 02.11.2005 (Ср) 3:27

BV писал(а):И какие же?


А режим совместимости с Win9x,NT,2000 ???

В пример ф-ия GetVersion нагло обманывает а Environ вроде нормально кажет.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 02.11.2005 (Ср) 3:56

Конкретно с Temp какие "нюансики"?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

Сообщение NIC » 02.11.2005 (Ср) 4:31

BV писал(а):Конкретно с Temp какие "нюансики"?


С temp не пробовал но ведь тоже это окружение?! А вот GetWindowsDirecory "ломает ОС" в смысле отсчёт об ошибке пытаеться двигнуть. Попрубуй в Win9X она наверно разорётся и может подвесится.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 02.11.2005 (Ср) 4:56

Чушь, причём полная.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

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

Сообщение alibek » 02.11.2005 (Ср) 8:37

BV писал(а):Лучше GetTempPath.

А если нужна не TEMP, а PROMPT?
Lasciate ogni speranza, voi ch'entrate.

AndreyIl
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 18.10.2005 (Вт) 16:17
Откуда: г. Брянск

Как прочитать системные переменные Windows

Сообщение AndreyIl » 02.11.2005 (Ср) 16:48

Environ(i as Long), где i - от 1 до 27.
Environ(S as string), где S - строковый параметр.
И то и то работает.

ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Администратор\Application Data
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=WORK
ComSpec=C:\WINNT\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\
LOGONSERVER=\\WORK
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Executive Software\Diskeeper\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 1 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0103
ProgramFiles=C:\Program Files
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\DOCUME~1\9335~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\9335~1\LOCALS~1\Temp
USERDOMAIN=WORK
USERNAME=Администратор
USERPROFILE=C:\Documents and Settings\Администратор
windir=C:\WINNT


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

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

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

    TopList