Страница: 1 |
Страница: 1 |
Вопрос: Помогите с оператором Environ!
Добавлено: 30.10.07 10:10
Автор вопроса: werber | Web-сайт:
Кто умеет разбираться в операторе Environ, напишите описание возвращаемых строк опрератора Environ ("OS").
А то он мне какую- то хрень выдаёт, ничего не понятно.
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #1
Добавлено: 30.10.07 10:14
В командной строке набери "set", там всё будет.
Номер ответа: 2
Автор ответа:
Алексей
black admin
ICQ: 261779681
Вопросов: 87
Ответов: 633
Web-сайт:
Профиль | | #2
Добавлено: 30.10.07 10:21
http://kbyte.ru/Refbooks/Show.aspx?id=52&lang=ru
Номер ответа: 3
Автор ответа:
werber
Вопросов: 71
Ответов: 112
Web-сайт:
Профиль | | #3
Добавлено: 30.10.07 10:26
А поканкретнее можно. Первые два ответа не помогли.
А второй ответ ссылается на ссылку с общим определением оператора Environ. Люди, мне нужно описание возвращемых значений оператора Environ ("OS" (ИМЕННО OS!!!)
Номер ответа: 4
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #4
Добавлено: 30.10.07 10:29
Ну, погоняй на разных операционках и увидишь, что возвращает.
Номер ответа: 5
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #5
Добавлено: 30.10.07 10:45
Номер ответа: 6
Автор ответа:
werber
Вопросов: 71
Ответов: 112
Web-сайт:
Профиль | | #6
Добавлено: 30.10.07 11:00
У меня стоит только WinXP, других операционок нет. Поэтому и прошу указать описание возвращаемых строк, кроме Win_NT.
Номер ответа: 7
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #7
Добавлено: 30.10.07 12:17
Если стоит Windows NT, 2000, XP, 2003 Server, Vista, то он естественно выдаст Windows_NT, так как все они от NT и образованы.
95, 98, Me от него не образованы, поэтому надписи Windows_NT получить не удастся. А что он там выдаст в конкретном случае - все равно. Поэтому можно использовать следующий код:
IsNT = Environ("OS" = "Windows_NT"
End Function
Но использовать эту штуку крайне не рекомендую. Любой любопытный пользователь может изменить строку на все что угодно (например, даже "Linux Pirat Edition" ), поэтому лучше юзать другие способы определения (на сайтах по программированию их - кучи).
Номер ответа: 8
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #8
Добавлено: 30.10.07 14:58
GetVersionEx рулит...
Номер ответа: 9
Автор ответа:
Mr.Smile
ICQ: 427682013
Вопросов: 14
Ответов: 464
Профиль | | #9
Добавлено: 02.11.07 16:07
Номер ответа: 10
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #10
Добавлено: 02.11.07 19:02
Ой, не пробовал... Ну если надо определить NT или 9x, то можно попробовать загрузить ntdll. Если грузится - NT.
If ret < 1 Then OS = Win9x
Номер ответа: 11
Автор ответа:
Mr.Smile
ICQ: 427682013
Вопросов: 14
Ответов: 464
Профиль | | #11
Добавлено: 02.11.07 23:34
Номер ответа: 12
Автор ответа:
werber
Вопросов: 71
Ответов: 112
Web-сайт:
Профиль | | #12
Добавлено: 07.11.07 17:31
Короче, как я понимаю появляется следующий способ: нужно найти тот определённый файл, который обязательно должен быть в опредёлённой Винде, так?
Что-ж, тогда скажите пожалуйста, какие определённые файлы есть в определённых Виндах? Если я, конечно, правильно вас понял.
Номер ответа: 13
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #13
Добавлено: 07.11.07 18:40
Arcady_XQST
Вряд ли ntdll будет в Win9x.
Вообще есть множество способов. В реестре есть версия винды, можно найти ветки реестра, присущие только определенной винде, файлы... да много чего.
Есть АПИ-функции, которые работают только в XP (не только в ntdll)