SAODOINGOI_XD
Thành viên chính thức


- Tham gia
- 9/12/11
- Bài viết
- 78
- Được thích
- 71
Cho em hỏi hai máy tính có cùng cấu hình y hệt nhau thì nó sẽ khác nhau về cái gì, ý em để phân biệt đấy là máy A và đây là máy B.
Sub Test()
With CreateObject("Wscript.Shell")
.Run "cmd /c IPCONFIG > C:\IP_Address.txt", 0, True
End With
With CreateObject("Shell.Application")
.Open "C:\IP_Address.txt"
End With
End Sub
Khác nhièu chứ:Nếu máy tính nối mạng nội bộ hay internet thì có khai địa chỉ IP thì có thể phân biệt được bằng địa chỉ IP. Em có đọc được đoạn code tìm địa chỉ IP của bác Ndu
Còn cách khác để phân biệt máy nữa không ạ.PHP:Sub Test() With CreateObject("Wscript.Shell") .Run "cmd /c IPCONFIG > C:\IP_Address.txt", 0, True End With With CreateObject("Shell.Application") .Open "C:\IP_Address.txt" End With End Sub
Thế cho em hỏi có thể viết đoạn code như lấy địa IP được không thầy, Lấy Hard Disk ID, CPU IDKhác nhièu chứ:
- Hard Disk ID
- CPU ID
- User Name
- Computer Name
vân vân
Sub GetCPUID()
'tạo đối tượng dịch vụ WMI
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
'tìm các CPU đang chạy của máy
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
' lặp hiển thị ID của từng CPU
For Each objItem In colItems
MsgBox "Processor Id: " & objItem.ProcessorId
Next
End Sub
Code báo lỗi? Cụ thể là lỗi gì?Em có sâu tập được trên mạng một đoạn code lấy địa chỉ Id của CPU nhưng không biết chạy bị lỗi, mong thầy và các anh xem và sữa cho em với ạ.
PHP:Sub GetCPUID() ‘tạo đối tượng dịch vụ WMI Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") ‘tìm các CPU đang chạy của máy Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor") ‘lặp hiển thị ID của từng CPU For Each objItem In colItems MsgBox "Processor Id: " & objItem.ProcessorId Next End Sub
Bạn thử lấy số Bios serial number xem có bị trùng không:Sao em thử chạy đoạn code trên với các máy khác nhau thì hai máy cùng cấu hình cho cùng một kết quả ID của CPU nhả.
Sub Test()
Dim sComm As String, tmpFile, biosSN
On Error Resume Next
With CreateObject("Scripting.FileSystemObject")
tmpFile = .GetTempName
sComm = "wmic bios get serialnumber" & " > " & tmpFile
CreateObject("Wscript.Shell").Run "cmd /c " & sComm, 0, True
biosSN = Split(.OpenTextFile(tmpFile, 1, 0, -1).ReadAll, vbCrLf)
End With
MsgBox biosSN(1)
Kill tmpFile
End Sub
Trên các mạng nước ngoài cũng nhiều người hỏi vấn đề này rồi! Đáng tiếc là tôi không rành lắm, cũng chưa nghiên cứu sâu nên không biết "cái gì" là dấu hiệu phân biệt 100% sự khác nhau giữa 2 máy tínhEm có chạy nó vẫn cho kết quả giống nhau thầy ạ!
Khác nhièu chứ:
- Hard Disk ID
- CPU ID
- User Name
- Computer Name
vân vân
Liệu có Code nào để tìm Drive cho máy được nhanh nhất không hả thày.
Code báo lỗi? Cụ thể là lỗi gì?