Поиск на сайте
Главная Журнал Форум Wiki DRKB Страны мира

Как в VB.NET определить какой сервис пак установлен в системе

Так как библиотека OSVersion, предназначенная для получения сведений о системе не содержит информации об установленном сервис паке, то для получения его версии необходимо напрямую вызвать API функцию GetVersionEx. Однако, .NET Framework предоставляет более простой в использовании доступ к базовому набору API функций через Interop уровень. Ниже приведён пример, содержащий метод GetServicePack, возвращающий версию сервис пака, установленного в операционной системе.

ПРИМЕЧАНИЕ: структура OSVERSIONINFO содержит строку szCSDVersion фиксированной длины. Так как строки фиксированной длины больше не поддерживаются, то необходимо предоставить отсортированную информацию для этого мембера. Делается это при помощи символов <>.

1. Создайте новое приложение Visual Basic .NET.
2. Откройте окно с кодом для Module1.vb и сотрите весь код.
3. Вставьте следующий код в Module1.vb.

Module module1
    Private Structure OSVERSIONINFO
        Dim dwOSVersionInfoSize As Integer
        Dim dwMajorVersion As Integer
        Dim dwMinorVersion As Integer
        Dim dwBuildNumber As Integer
        Dim dwPlatformId As Integer
        <VBFixedString(128), _
          System.Runtime.InteropServices.MarshalAs _
               (System.Runtime.InteropServices.UnmanagedType.ByValTStr, _
            SizeConst:=128)> Dim szCSDVersion As String
 
    End Structure
 
    Private Declare Function GetVersionExA Lib "kernel32" (ByRef lpVersionInformation As OSVERSIONINFO) As Short
 
    Public Function getServicePack() As String
        Dim osinfo As OSVERSIONINFO
        Dim retvalue As Short
        osinfo.dwOSVersionInfoSize = 148
        retvalue = GetVersionExA(osinfo)
        If Len(osinfo.szCSDVersion) = 0 Then
            Return ("No Service Pack Installed")
        Else
            Return (CStr(osinfo.szCSDVersion))
        End If
    End Function
 
    Public Sub main()
        Console.WriteLine(getServicePack())
    End Sub
End Module

Для компиляции и запуска приложения нажмите CTRL+F5. Информация о сервис паке появится в консольном окне.




Основные разделы сайта


 

Реклама Купить диплом высшего образования