ورود

View Full Version : گفتگو: تشخیص راه انداز سیستم (Operating System)



ROSTAM2
دوشنبه 17 اردیبهشت 1403, 06:09 صبح
سلام
من برای تشخیص راه انداز سیستم ویندوز این کد رو نوشتم اگر ویندوزتون متفاوت از 10 و 11 هست تست کنید ببینید دستور کامل هست یا نه؟

با تشکر....


Enum OperatingSystems
Unknown = -1
WindowsXP = 0
Windows7 = 1
Windows8 = 2
Windows10 = 3
Windows11 = 4
End Enum
Function OperatingSystem() As OperatingSystems
Dim OSN As String = "Microsoft Windows"
If My.Computer.Info.OSFullName.StartsWith(OSN + " XP") Then
Return OperatingSystems.WindowsXP
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 7") Then
Return OperatingSystems.Windows7
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 8") Then
Return OperatingSystems.Windows8
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 10") Then
Return OperatingSystems.Windows10
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 11") Then
Return OperatingSystems.Windows11
Else
Return OperatingSystems.Unknown
End If
End Function

ROSTAM2
دوشنبه 17 اردیبهشت 1403, 07:46 صبح
سلام
من برای تشخیص راه انداز سیستم ویندوز این کد رو نوشتم اگر ویندوزتون متفاوت از 10 و 11 هست تست کنید ببینید دستور کامل هست یا نه؟

با تشکر....


Enum OperatingSystems
Unknown = -1
WindowsXP = 0
Windows7 = 1
Windows8 = 2
Windows10 = 3
Windows11 = 4
End Enum
Function OperatingSystem() As OperatingSystems
Dim OSN As String = "Microsoft Windows"
If My.Computer.Info.OSFullName.StartsWith(OSN + " XP") Then
Return OperatingSystems.WindowsXP
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 7") Then
Return OperatingSystems.Windows7
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 8") Then
Return OperatingSystems.Windows8
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 10") Then
Return OperatingSystems.Windows10
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 11") Then
Return OperatingSystems.Windows11
Else
Return OperatingSystems.Unknown
End If
End Function


نحوه بکارگیری برای دستور شرطی

If Not OperatingSystem() = OperatingSystems.Windows10 Then
Me.SelectedButton.ForeColor = Color.MidnightBlue
End If


یا:

Select Case OperatingSystem()
Case OperatingSystems.Unknown
Case OperatingSystems.Windows10
Case OperatingSystems.Windows11
Case OperatingSystems.Windows7
Case OperatingSystems.Windows8
Case OperatingSystems.WindowsXP
End Select



MsgBox(OperatingSystem.ToString)

ROSTAM2
دوشنبه 17 اردیبهشت 1403, 07:50 صبح
ازونجایی که کلاسی با نام OperatingSystem داریم پس تابع رو به Property (خصوصیت) تغییر دادم و نامش رو هم گذاشتم SystemOperator:


Public ReadOnly Property SystemOperator() As OperatingSystems
Get
Dim OSN As String = "Microsoft Windows"
If My.Computer.Info.OSFullName.StartsWith(OSN + " XP") Then
Return OperatingSystems.WindowsXP
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 7") Then
Return OperatingSystems.Windows7
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 8") Then
Return OperatingSystems.Windows8
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 10") Then
Return OperatingSystems.Windows10
ElseIf My.Computer.Info.OSFullName.StartsWith(OSN + " 11") Then
Return OperatingSystems.Windows11
Else
Return OperatingSystems.Unknown
End If
End Get
End Property