Страница: 1 | 2 |
Вопрос: Как узнать путь к системной папке Windows?
Добавлено: 15.07.04 22:13
Автор вопроса: Calhoon | Web-сайт:
Как узнать путь к системной папке Windows?
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #1
Добавлено: 15.07.04 22:29
MsgBox Environ("windir"
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 16.07.04 00:04
GetWindowsDirectory, а вообще, для чего существует поиск по форуму... все просили и никто не пользуется
Номер ответа: 3
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #3
Добавлено: 16.07.04 01:04
Нажми Windows + R и введи %SystemRoot%.
Это просто ещё один способ!
Номер ответа: 4
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #4
Добавлено: 16.07.04 13:42
Интересно, а где-нить есть список стандартных виндозных параметров для вункции Environ???
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #5
Добавлено: 16.07.04 14:33
Загляни в свойства системы, на вкладку дополнительно, переменные среды...
Там в списке увидишь все что можешь вписать этой функции...
Номер ответа: 6
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #6
Добавлено: 16.07.04 16:27
Это не правда.
На самом деле параметров (переменных окружения) гораздо больше, например:
userprofile
allusersprofile
systemroot
Номер ответа: 7
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #7
Добавлено: 16.07.04 16:37
И все-таки, где-нить можно найти список этих параметров? В MSDN порылся, но не нашел...
Номер ответа: 8
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #8
Добавлено: 16.07.04 16:47
Не вопрос:
Dim i As Integer
For i = 1 To 255
Text1 = Text1 & i & " - " & Environ(i) & vbCrLf
Next i
У меня получился такой список:
1 - ALLUSERSPROFILE=C:\Documents and Settings\All Users
2 - APPDATA=C:\Documents and Settings\APashenko.ALIDIROOT\Application Data
3 - CommonProgramFiles=C:\Program Files\Common Files
4 - COMPUTERNAME=PASHENKO
5 - ComSpec=C:\WINDOWS\system32\cmd.exe
6 - HOMEDRIVE=C:
7 - HOMEPATH=\Documents and Settings\APashenko.ALIDIROOT
8 - LOGONSERVER=\\SRV2
9 - NUMBER_OF_PROCESSORS=1
10 - OS=Windows_NT
11 - Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adaptec Shared\System
12 - PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
13 - PROCESSOR_ARCHITECTURE=x86
14 - PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel
15 - PROCESSOR_LEVEL=15
16 - PROCESSOR_REVISION=0209
17 - ProgramFiles=C:\Program Files
18 - SESSIONNAME=Console
19 - SystemDrive=C:
20 - SystemRoot=C:\WINDOWS
21 - TEMP=C:\DOCUME~1\APASHE~1.ALI\LOCALS~1\Temp
22 - TMP=C:\DOCUME~1\APASHE~1.ALI\LOCALS~1\Temp
23 - USERDNSDOMAIN=ALIDIROOT.RU
24 - USERDOMAIN=ALIDIROOT
25 - USERNAME=APashenko
26 - USERPROFILE=C:\Documents and Settings\APashenko.ALIDIROOT
27 - windir=C:\WINDOWS
Номер ответа: 9
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #9
Добавлено: 16.07.04 17:08
Большое спасибо )))
Номер ответа: 10
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #10
Добавлено: 18.07.04 19:30
В WinME Envirion() на windir и OS выдает пустую строку, на некоторых других тоже... А в чем разница между Windir и SystemRoot?
Номер ответа: 11
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #11
Добавлено: 18.07.04 19:44
В названии
Хотя возможно ведь и случай когда эти две переменные окружения будут различны...
Номер ответа: 12
Автор ответа:
ASiD
ICQ: 259132473
Вопросов: 19
Ответов: 23
Профиль | | #12
Добавлено: 18.07.04 19:50
a$ = Environ("windir"
Номер ответа: 13
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #13
Добавлено: 22.07.04 16:40
Код на API, кажется, можно сократить и некоторые строки удалить:
Private Function WindowsDirectory() As String
 im strBuffer As String
 im lngLen As Long
 im dhcmaxpath As Long '------- не вижу смысла в этой переменной
strBuffer = Space(dhcmaxpath) ' -------- dhcmaxpath = 0, значит strBuffer = ""
lngLen = dhcmaxpath '----------- lngLen = 0
lngLen = GetWindowsDirectory(strBuffer, lngLen)
If lngLen > dhcmaxpath Then '------------- lngLen всегда больше 0
strBuffer = Space(lngLen)
lngLen = GetWindowsDirectory(strBuffer, lngLen)
End If'-------------
WindowsDirectory = Left$(strBuffer, lngLen)
End Function
В итоге получилось:
Private Function WindowsDirectory() As String
 im strBuffer As String
 im lngLen As Long
lngLen = GetWindowsDirectory(strBuffer, lngLen)
strBuffer = Space(lngLen)
lngLen = GetWindowsDirectory(strBuffer, lngLen)
WindowsDirectory = Left$(strBuffer, lngLen)
End Function
Что, я не прав?
Номер ответа: 14
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #14
Добавлено: 22.07.04 18:33
Ты не прав Я могу еще короче ) Намного короче
Номер ответа: 15
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #15
Добавлено: 23.07.04 22:07
Ну и как?