• Lấy về số seri CPU, ổ cứng MainBoard trong Access
  • Lấy về số seri CPU, ổ cứng MainBoard trong Access

    Noname > 23-08-10, 01:25 PM

    Đôi khi có 1 số nhu cầu lấy thông tin phần cứng trong chương trình (chẳng hạn để cấp bản quyền). Dưới đây là Đoạn Code cho phép bạn lấy thông tin CPU máy tính:
    Download Demo

    Chú ý: Một số Main của các máy tính đặc biệt (VAIO, Apple...) không cho lấy thông số, nên hàm lấy main chỉ mang tính tham khảo .
    Mã:
    ' Lay thong tin CPU
    Function GetCPUID()
         'ta.o ?o^'i ty'o+.ng di.ch vu. WMI
         Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
         'ti`m các CPU ?ang cha.y cu?a máy
         Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
         'la(.p hie^?n thi. ID cu?a tu+`ng CPU
         For Each objItem In colItems
         GetCPUID = objItem.ProcessorId
         Next
        
         End Function
    ' Lay Thong tin o Cung
    Mã:
    Function GetHDDserial()
        Dim fso As Object, Drv As Object
                'Create a FileSystemObject object
                  Set fso = CreateObject("Scripting.FileSystemObject")
                  'Assign the current drive letter if not specified
                  Set Drv = fso.GetDrive(Environ("SystemDrive"))
                  With Drv
                      If .IsReady Then
                          DriveSerial = Abs(.SerialNumber)
                      Else    '"Drive Not Ready!"
                          DriveSerial = -1
                      End If
                  End With
                  'Clean up
                  Set Drv = Nothing
                  Set fso = Nothing
                  GetHDDserial = DriveSerial
         End Function
    ' Lay Thong tin Mainboard
    Mã:
    Function GetBoardSerial()

    Set WMI = GetObject("winmgmts:\\.\root\cimv2")

    Set objs = WMI.ExecQuery("Select * from Win32_BaseBoard")
    For Each obj In objs
    GetBoardSerial = obj.SerialNumber
    Next

    End Function
    =================================================================
    1.Lấy thông tin CPU (Click to View)
    2. Lấy thông tin ổ cứng: (Click to View)
    3. Lấy Serial Main Board (Click to View)
    Phần sửa lỗi lấy thông tin mainboard của Cafe Via He (Click to View)
    Cafe via He: sửa hàm GETCPU của Noname chút. (Click to View)
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    DoquangLam > 01-10-10, 11:01 PM

    Cám ơn Noname để mình thực hành
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    DoquangLam > 01-10-10, 11:17 PM

    Noname ơi mình nhờ bạn nối 2 đoạn Code để lấy thông tin của Main Board và ổ cứng dùm mình với (Lấy thông tin Main Board hoặc ổ cứng thì mình làm được rồi, lấy 2 thông tin cùng lúc thì mình chịu thua). Cám ơn nhiều.
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    Noname > 01-10-10, 11:24 PM

    sac, thì mỗi cái bạn gán nó vào 1 biến. Hoặc thay vì dùng sub, bạn dùng function, rồi chỗ cuối cùng phát biểu msgbox, bạn gán tên function bằng kết quả trả về.
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    DoquangLam > 02-10-10, 12:08 AM

    Noname ơi thông cảm cho mình nhé, cái vụ này thì mình dở lắm không biết gì cả, đặc biệt là Code.
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    DoquangLam > 02-10-10, 11:25 AM

    Private Sub Form_Load()
    Dim fso As Object, Drv As Object
    'Create a FileSystemObject object
    Set fso = CreateObject("Scripting.FileSystemObject")
    'Assign the current drive letter if not specified
    Set Drv = fso.GetDrive() ' Nó báo lỗi ngay dòng này Noname ơi.
    With Drv
    If .IsReady Then
    DriveSerial = Abs(.SerialNumber)
    Else '"Drive Not Ready!"
    DriveSerial = -1
    End If
    End With
    'Clean up
    Set Drv = Nothing
    Set fso = Nothing
    MsgBox "Serial là: " & DriveSerial
    End Sub
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    DoquangLam > 02-10-10, 09:17 PM

    Noname ơi, xem lại dùm mình với
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    Cafe Via He > 04-10-10, 10:32 AM

    Bạn sửa dòng đó như thế này thử xem:

    Set Drv = fso.GetDrive(Environ("SystemDrive"))
  • RE: Lấy về số seri CPU, ổ cứng MainBoard trong Access

    DoquangLam > 04-10-10, 07:28 PM

    Cám ơn bạn nhé !
    Tiện đây cho mình hỏi thêm tí nhé :
    - Mình có forms có tên là DangKy
    - Bây giờ mình muốn các bạn viết dùm mình Code qui định cho nó khi khởi động đến lần thứ 3 hay 5,6... (do mình quy định trong code) thì hiện lên dòng thông báo "Đã hết hạn sử dụng", bấm OK thì nó thoát fomrs.
    Cám ơn !
  • Code qui định số lần cho phép khởi động fomrs !

    DoquangLam > 04-10-10, 07:42 PM

    Nhờ các bạn trợ giúp :

    - Mình có forms có tên là DangKy
    - Bây giờ mình muốn các bạn viết dùm mình Code qui định cho nó khi khởi động đến lần thứ 3 hay 5,6... (do mình quy định trong code) thì hiện lên dòng thông báo "Đã hết hạn sử dụng", bấm OK thì nó thoát fomrs.
    Cám ơn !