Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
5 / 5 / 0
Регистрация: 15.04.2013
Сообщений: 118
1

Используя функцию GetVersionEx определить тип операционной системы

03.10.2015, 21:06. Показов 2835. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание звучит так: используя функцию GetVersionEx определить тип операционной системы.
На форуме уже был такой вопрос и оттуда я вытянул такой код:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Class Form1
    Private Declare Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As Long
 
Structure OSVERSIONINFO
        Public dwOSVersionInfoSize As Int32
        Public dwMajorVersion As Int32
        Public dwMinorVersion As Int32
        Public dwBuildNumber As Int32
        Public dwPlatformId As Int32
        <VBFixedString(128), Runtime.InteropServices.MarshalAs(Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=128)> _
        Public szCSDVersion As String
End Structure
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim OSV As OSVERSIONINFO
        OSV.dwOSVersionInfoSize = Len(OSV) 'Runtime.InteropServices.Marshal.SizeOf( OSV) ' ( ref typeof(OSVERSIONINFO)  
        GetVersionEx(OSV)
        'Dim s As String = OSV.dwMajorVersion
        TextBox2.Text = OSV.szCSDVersion.ToString
    End Sub
End Class

Вроде как она работает, ты выводит номер сервис пака. В моем понимании, задача подразумевает вывести, например, Windows 7. Реализуема ли данная задача?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2015, 21:06
Ответы с готовыми решениями:

Через API GetVersionEx и GetComputerName определить номер сборки операционной системы и имя компьютера
Доброго времени суток. Как применить эти апишки GetVersionEx и GetComputerName чтобы определить...

Тип операционной системы
помогите пожалуйста с написанием программы Разработать программу с графическим интерфейсом,...

Определить версию операционной системы
'определяем версию Windows 'нет информации как определить Висту и Семерку если без Option...

Определить Service Pack операционной системы
Используя функции GetVersionEx и GetTempPath определить Service Pack операционной системы и путь к...

5
COM‐пропагандист
859 / 768 / 147
Регистрация: 18.12.2014
Сообщений: 2,195
Записей в блоге: 4
04.10.2015, 13:14 2
Это нужно делать вручную, сопоставляя номера версии, сборки, изменения и ревизии с известными значениями.
https://ru.wikipedia.org/wiki/... Windows_NT
0
5 / 5 / 0
Регистрация: 15.04.2013
Сообщений: 118
04.10.2015, 17:28  [ТС] 3
Мне нужно именно при помощи API функции GetVersionEx, таково условие задачи.
0
COM‐пропагандист
859 / 768 / 147
Регистрация: 18.12.2014
Сообщений: 2,195
Записей в блоге: 4
04.10.2015, 17:58 4
«Windows 7» — это не номер версии операционной системы, а её название.
Во‐вторых, достаточно посмотреть в документации по структуре OsVersionInfo, что строка szCSDVersion описывает установленный сервис‐пак.
1
5 / 5 / 0
Регистрация: 15.04.2013
Сообщений: 118
04.10.2015, 20:11  [ТС] 5
"Тип операционной системы" - что, по-вашему, тогда требует условие данной задачи?

Добавлено через 43 минуты
А возможно ли как-то определить при помощи данной функции, установлена на компьютере Windows, Mac Os X или Linux?

Добавлено через 1 час 2 минуты
Или это определить, 32 или 64 разрядная версия стоит?
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
05.10.2015, 08:45 6
Цитата Сообщение от robert0801 Посмотреть сообщение
"Тип операционной системы" - что, по-вашему, тогда требует условие данной задачи?
Что угодно может означать. Например, серверная или клиентская редакция.
32-битная или 64-битная. Home, Pro или Ultimate. И т.д.

Цитата Сообщение от robert0801 Посмотреть сообщение
Или это определить, 32 или 64 разрядная версия стоит?
GetNativeSystemInfo.
У 64-битных в поле wProcessorArchitecture будет PROCESSOR_ARCHITECTURE_AMD64.
1
05.10.2015, 08:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2015, 08:45
Помогаю со студенческими работами здесь

Определить service pack операционной системы
найти service pack операционной системы в VB 8 используя функцию GetVersionEx вот что получилось....

Определить версию операционной системы средствами boost
Добрый день. собственно вопрос обозначен в заголовке. Средствами WINAPI или POSIX я это сделать...

Как определить разрядность операционной системы кодом C++?
Решил сделать автозагрузку для одной программы, которая бывает версий х32 и х64. Мне надо проверить...

Определить размер pipe для вашей операционной системы
как определить размер pipe для вашей операционной системы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru