• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Kiểm tra tên HĐH (x64 và x86 luôn)

Các thủ thuật về hệ thống, thư mục, tập tin và mạng

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi vo_minhdat2007 » T.Hai 04/08/2008 7:39 pm

Thủ thuật: Kiểm tra tên hệ điều hành (kể cả 64bit)
Tác giả: Võ Minh Đạt
Mô tả: Mẹo dùng phương thức Contains của chuỗi trong .NET để xác định



Xác định tên hệ điều hành trước đã :

Mã: Chọn hết

  1. If My.Computer.Info.OSFullName.Contains("XP") Then
  2.             'XP chắc
  3.         ElseIf My.Computer.Info.OSFullName.Contains("Vista") Then
  4.             'Trời ơi Vista kìa ^^
  5.         Else
  6.             'THôi rồi, chắc 98, ME hay 2000 rồi :(
  7.         End If

Xong! Giờ xem nó có chơi x64 không nhá :
Hệ điều hành 64bit sẽ khuyến mãi thêm cái x64 Edition. Vì vậy dùng code sau (đã test trên Vista x64, XP x64 nhờ ai test giùm) :

Mã: Chọn hết

  1. If My.Computer.Info.OSFullName.Contains("64") Then
  2.             'Wow, x64 chắc rồi
  3.         Else
  4.             'Đừng nên cài x64, nó mệt lắm
  5.         End If


Thân.

P/S : Hình như còn sai sót :D



Hình đại diện của người dùng
Kỳ Nam
Guru
Guru
Bài viết: 510
Ngày tham gia: CN 12/08/2007 8:47 pm
Đến từ: Qui Nhơn
Been thanked: 1 time
Liên hệ:

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi Kỳ Nam » T.Hai 04/08/2008 8:46 pm

Mã: Chọn hết

  1.  
  2.     Public Shared ReadOnly Property Is64bit() As Boolean
  3.         Get
  4.             Return IntPtr.Size = 8
  5.         End Get
  6.     End Property
  7.  
  8.     Public Shared Function GetWindowsVersion() As WindowsVersion
  9.         Dim V As Version = Environment.OSVersion.Version
  10.         Select Case V.Major
  11.             Case 4
  12.                 Return WindowsVersion.W9x
  13.             Case 5
  14.                 Select Case V.Minor
  15.                     Case 0
  16.                         Return WindowsVersion.W2K
  17.                     Case 1
  18.                         Return WindowsVersion.XP
  19.                     Case 2
  20.                         Return WindowsVersion.W2K3
  21.                 End Select
  22.             Case 6
  23.                 Return WindowsVersion.Vista
  24.         End Select
  25.     End Function
  26.  
  27. <CLSCompliant(True)> Public Enum WindowsVersion
  28.     W9x
  29.     W2K
  30.     XP
  31.     W2K3
  32.     Vista
  33. End Enum
  34.  
  35.  

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi vo_minhdat2007 » T.Hai 04/08/2008 10:04 pm

Kỳ Nam đã viết:

Mã: Chọn hết

  1.  
  2.     Public Shared ReadOnly Property Is64bit() As Boolean
  3.         Get
  4.             Return IntPtr.Size = 8
  5.         End Get
  6.     End Property
  7.  
  8.     Public Shared Function GetWindowsVersion() As WindowsVersion
  9.         Dim V As Version = Environment.OSVersion.Version
  10.         Select Case V.Major
  11.             Case 4
  12.                 Return WindowsVersion.W9x
  13.             Case 5
  14.                 Select Case V.Minor
  15.                     Case 0
  16.                         Return WindowsVersion.W2K
  17.                     Case 1
  18.                         Return WindowsVersion.XP
  19.                     Case 2
  20.                         Return WindowsVersion.W2K3
  21.                 End Select
  22.             Case 6
  23.                 Return WindowsVersion.Vista
  24.         End Select
  25.     End Function
  26.  
  27. <CLSCompliant(True)> Public Enum WindowsVersion
  28.     W9x
  29.     W2K
  30.     XP
  31.     W2K3
  32.     Vista
  33. End Enum
  34.  
  35.  

Dài quá. Vậy còn x64 hay x86? Mà nhìn nó sao... dài dòng rối rắm vậy?
Sửa lần cuối bởi vo_minhdat2007 vào ngày T.Ba 05/08/2008 7:10 am với 1 lần sửa.

Hình đại diện của người dùng
Kỳ Nam
Guru
Guru
Bài viết: 510
Ngày tham gia: CN 12/08/2007 8:47 pm
Đến từ: Qui Nhơn
Been thanked: 1 time
Liên hệ:

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi Kỳ Nam » T.Hai 04/08/2008 10:14 pm

lạy chúa code như dẩy mà kêu dài

vo_minhdat2007 đã viết:Dài dai dóc dở. Vậy còn x64 hay x86? Mà nhìn nó sao... dài dòng rối rắm vậy?

Public Shared ReadOnly Property Is64bit() As Boolean -> chình ình ra đó

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi vo_minhdat2007 » T.Ba 05/08/2008 7:11 am

Oh my dog! Code vậy mà bảo không dài ^:)^

neverland87
Guru
Guru
Bài viết: 490
Ngày tham gia: T.Bảy 26/05/2007 4:31 pm
Been thanked: 8 time

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi neverland87 » T.Ba 05/08/2008 8:22 am

vo_minhdat2007 đã viết:Oh my dog! Code vậy mà bảo không dài ^:)^

Cũng ngắn mà, có chăng là dài so với code of em :P
SIMPLY THE BEST - ĐƠN GIẢN LÀ TỐT NHẤT

Hình đại diện của người dùng
Kỳ Nam
Guru
Guru
Bài viết: 510
Ngày tham gia: CN 12/08/2007 8:47 pm
Đến từ: Qui Nhơn
Been thanked: 1 time
Liên hệ:

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi Kỳ Nam » T.Ba 05/08/2008 8:41 am

mặc dù thiệt phí thời gian , tui sẽ bỏ vài phút để dảng cho cậu biết vì sao cái của tui ngắn còn cái của cậu dài , mà phải là dài thòng lòng

VD , trong ct , hay trong nhiều ct , sẽ cần biết có phải w 64bit 0 , mà cần biết vài chục lần :

như code cậu viết , mỗi lần cần kiểm tra như dậy thì sẽ phải gõ ra ít nhất :

Mã: Chọn hết

  1.        If My.Computer.Info.OSFullName.Contains("64") Then
  2.         Else
  3.         End If

còn của tui :

Mã: Chọn hết

  1.        If Is64bit Then
  2.         Else
  3.         End If

nào ngắn hơn

VD tương tự , nếu vài chục lần cần biết là windows gì , chẳng hạn chỉ 1 trong 2 loại : vista hoặc cũ hơn
của cậu

Mã: Chọn hết

  1. If My.Computer.Info.OSFullName.Contains("XP") Then
  2.         ElseIf My.Computer.Info.OSFullName.Contains("Vista") Then
  3.         Else
  4.         End If

của tui

Mã: Chọn hết

  1. Select GetWindowsVersion
  2.                 Case WindowsVersion.Vista
  3.                 Case WindowsVersion.XP
  4.                 Case < WindowsVersion.XP
  5.         End Select

cái nào dễ đọc dễ hiểu hơn , và gõ nhanh hơn

chưa kể cái của cậu viết còn sai lên sai xuống , và dùng String.Contain mất thời gian , mỗi lần muốn sửa lại thì phải tìm tới tất cả những chỗ dùng đoạn code đó

ngoài ra , tui còn muốn chim thêm mấy câu đáng giá vo_minhdat2007 , nhưng 0 cần nói vì chắc ai cũng biết há há há há

còn may giờ 0 còn để chữ ký advanced group member , ... thân , nếu 0 thiẹt là nhục nhã cho clbvb

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi vo_minhdat2007 » T.Ba 05/08/2008 9:00 am

Thật hết nối nổi Kỳ Nam luôn ^:)^ . Không ai mà 1 đoạn code thường dùng không viết thành 1 Sub hay hàm cả. Nếu đoạn code trên cần dùng nhiều lần cứ việc viết ra 1 hàm, có sao đâu! :D

Hình đại diện của người dùng
Kỳ Nam
Guru
Guru
Bài viết: 510
Ngày tham gia: CN 12/08/2007 8:47 pm
Đến từ: Qui Nhơn
Been thanked: 1 time
Liên hệ:

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi Kỳ Nam » T.Ba 05/08/2008 9:05 am

nếu dậy thì sao nói cái của tui dài ? đong chưa
Sửa lần cuối bởi Kỳ Nam vào ngày T.Ba 05/08/2008 1:49 pm với 1 lần sửa.

DungCoi
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 77
Ngày tham gia: T.Tư 26/03/2008 9:24 pm
Been thanked: 2 time

Re: Kiểm tra tên HĐH (x64 và x86 luôn)

Gửi bàigửi bởi DungCoi » T.Ba 05/08/2008 9:14 am

:)) em dân Vì Bị 6, chưa biết .net
nhưng thấy bác Kỳ Nám ăn nói khó chịu quá nên rely :P
Có gì đâu, kinh nghiệm rồi từ từ tụi em có, ông anh cứ nói rứa làm tụi em ngại nhắm :">
~vb


Quay về “[.NET] Hệ thống - Tập tin - Thư mục và Mạng”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách