Thông tin
  • Đánh dấu xác nhận câu hỏi đã được giải quyết để giúp diễn đàn nâng cao chất lượng [cách sử dụng]
  • Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết [nội qui]
  • Tìm kiếm trước khi đặt câu hỏi

Lấy Số Serial Của Main Hoặc Cpu

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Các điều hành viên: Apple, nhochoclaptrinh, hongtamtk

Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi lanlan » Thứ 7 13/12/2008 7:44 am

Các cao thủ cho em hỏi có cách nào lấy số serial của Main hoặc CPU đưa ra textbox em cảm ơn các anh :x
"•´¨*•.¸¸.*..^_^ one love-one heart ^_^..*.¸¸.•*¨."
_______"•´`•.(¸.•´(¸.•* *•.¸)`•.¸).•´`•"
________________*(¨`•.•´¨)*
__________________`•.¸.•’
Hình đại diện của thành viên
lanlan
Thành viên tâm huyết
Thành viên tâm huyết
 
Bài viết: 310
Ngày tham gia: Thứ 5 05/06/2008 8:49 am
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi manhtung » Thứ 7 13/12/2008 7:52 am

Mã: Chọn tất cả
  1.  
  2.  
  3. ManagementObjectSearcher searcher = new
  4. ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
  5.  
  6. foreach(ManagementObject wmi_HD in searcher.Get())
  7. {
  8. HardDrive hd = new HardDrive();
  9. hd.Model = wmi_HD["Model"].ToString();
  10. hd.Type = wmi_HD["InterfaceType"].ToString();
  11.  
  12. hdCollection.Add(hd);
  13. }
  14.  
  15. searcher = new
  16. ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
  17.  
  18. int i = 0;
  19. foreach(ManagementObject wmi_HD in searcher.Get())
  20. {
  21. // get the hard drive from collection
  22. // using index
  23. HardDrive hd = (HardDrive)hdCollection[i];
  24.  
  25. // get the hardware serial no.
  26. if (wmi_HD["SerialNumber"] == null)
  27. hd.SerialNo = "None";
  28. else
  29. hd.SerialNo = wmi_HD["SerialNumber"].ToString();
  30.  
  31. ++i;
  32. }
  33.  

hoặc tham khảo:
Tham khảo các link sau xem thử:
http://www.eggheadcafe.com/articles/20030511.asp
http://www.eggheadcafe.com/articles/20021019.asp
More Simple More Good -- cÀNG đƠN gIẢN cÀNG tỐT
Hình đại diện của thành viên
manhtung
Thành viên tích cực
Thành viên tích cực
 
Bài viết: 109
Ngày tham gia: Thứ 7 12/04/2008 2:16 pm
Đến từ: huế
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi lanlan » Thứ 7 13/12/2008 8:04 am

Cái này hình như không phải viết trên vb6 hay sao ý
"•´¨*•.¸¸.*..^_^ one love-one heart ^_^..*.¸¸.•*¨."
_______"•´`•.(¸.•´(¸.•* *•.¸)`•.¸).•´`•"
________________*(¨`•.•´¨)*
__________________`•.¸.•’
Hình đại diện của thành viên
lanlan
Thành viên tâm huyết
Thành viên tâm huyết
 
Bài viết: 310
Ngày tham gia: Thứ 5 05/06/2008 8:49 am
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi manhtung » Thứ 7 13/12/2008 10:35 am

ặc, giờ mà còn viết trên vb6 à. Đổi công nghệ đi bạn ơi, đó là code của C# đó
More Simple More Good -- cÀNG đƠN gIẢN cÀNG tỐT
Hình đại diện của thành viên
manhtung
Thành viên tích cực
Thành viên tích cực
 
Bài viết: 109
Ngày tham gia: Thứ 7 12/04/2008 2:16 pm
Đến từ: huế
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi tienlbhoc » Thứ 7 13/12/2008 10:36 am

nhưng đây là box vb mà ;))
Diễn đàn và blog phần mềm tự làm :
http://my.opera.com/DienDanTienlbhoc/forums/
http://my.opera.com/tienlbhoc/blog/
tienlbhoc
Thành viên tâm huyết
Thành viên tâm huyết
 
Bài viết: 415
Ngày tham gia: Thứ 7 14/07/2007 10:06 pm
Đến từ: Hà Nội
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi truongphu » Thứ 7 13/12/2008 11:10 am

o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
Hình đại diện của thành viên
truongphu
VIP
VIP
 
Bài viết: 4692
Ngày tham gia: Chủ nhật 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Đã cảm ơn: 11 lần
Được cảm ơn: 431 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi T7 » Thứ 7 13/12/2008 11:35 am

Serial Main
Mã: Chọn tất cả
  1. Dim objs As Object
  2. Dim obj As Object
  3. Dim WMI As Object
  4. Dim sAns As String
  5.  
  6. Set WMI = GetObject("WinMgmts:")
  7. Set objs = WMI.InstancesOf("Win32_BaseBoard")
  8. For Each obj In objs
  9. sAns = sAns & obj.SerialNumber
  10. If sAns < objs.Count Then sAns = sAns & ","
  11. Next
  12. Msgbox "Serial main: " & sAns


Serial ổ đĩa
Mã: Chọn tất cả
  1.          Dim fso As Object, Drv As Object
  2.          
  3.           'Create a FileSystemObject object
  4.           Set fso = CreateObject("Scripting.FileSystemObject")
  5.          
  6.           'Assign the current drive letter if not specified
  7.           Set Drv = fso.GetDrive(<Tên ổ đĩa cần tìm>)
  8.      
  9.           With Drv
  10.               If .IsReady Then
  11.                   DriveSerial = Abs(.SerialNumber)
  12.               Else    '"Drive Not Ready!"
  13.                   DriveSerial = -1
  14.               End If
  15.           End With
  16.          
  17.           'Clean up
  18.           Set Drv = Nothing
  19.           Set fso = Nothing
  20.          
  21.           Msgbox "Serial là: " & DriveSerial

Hoặc thử dùng GetDiskSerial DLL 4.0.0 xem, nó cung cấp đầy đủ hơn nhiều :D
http://www.devlib.net/getdiskserial.htm
While (i <= you) i++;
Hình đại diện của thành viên
T7
Thành viên danh dự
Thành viên danh dự
 
Bài viết: 415
Ngày tham gia: Thứ 5 24/05/2007 8:19 pm
Đến từ: Long Xuyên - An Giang
Đã cảm ơn: 0 lần
Được cảm ơn: 12 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi lanlan » Thứ 7 13/12/2008 12:25 pm

Cảm ơn các anh cảm ơn bác truongphu em cũng đã tìm được 1 chân lý rùi
:x
"•´¨*•.¸¸.*..^_^ one love-one heart ^_^..*.¸¸.•*¨."
_______"•´`•.(¸.•´(¸.•* *•.¸)`•.¸).•´`•"
________________*(¨`•.•´¨)*
__________________`•.¸.•’
Hình đại diện của thành viên
lanlan
Thành viên tâm huyết
Thành viên tâm huyết
 
Bài viết: 310
Ngày tham gia: Thứ 5 05/06/2008 8:49 am
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi PhuongThanh37 » Thứ 2 29/12/2008 6:25 pm

Đó đâu phải là serial của HDD.
Đó chỉ là serial của partition do lúc chia partion nó tạo mà. Và cái đó thay đổi được không chỉ thế mà mỗi lần chia lại là sẽ khác.
Serial của nó phải đi kem với Firmware mà lúc nhà sản xuất đã đặt chứ.

Viết thêm:
Sau khi viết xong bài này thì vào cái link của T7 giới thiệu http://www.devlib.net/buynow.htm
Thấy họ bán GetDiskSerial DLL 4.0.0 Single License = $19.95; Site License = $39.95; Source Code for Delphi = $199.95
Ai có nhu cầu Thanh bán cho giá siêu rẻ so với như thế
Bán cái Source Code cho với giá bằng Single License luôn cho máu
Uống Chanh & nghe Chanh hát
PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
 
Bài viết: 87
Ngày tham gia: Thứ 6 09/09/2005 1:38 pm
Đến từ: Liên Hà, Đông Anh, HN
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Thông tin về Hard Disk

Gửi bàigửi bởi truongphu1 » Thứ 2 29/12/2008 9:41 pm

PhuongThanh37 đã viết:Đó đâu phải là serial của HDD.
Đó chỉ là serial của partition do lúc chia partion nó tạo mà. Và cái đó thay đổi được không chỉ thế mà mỗi lần chia lại là sẽ khác.
Serial của nó phải đi kem với Firmware mà lúc nhà sản xuất đã đặt chứ.
...
Ai có nhu cầu Thanh bán cho giá siêu rẻ so với như thế
Bán cái Source Code cho với giá bằng Single License luôn cho máu


Mã: Chọn tất cả
  1.   For Each objItem In GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_DiskDrive")
  2.       a = a & vbCrLf & "BytesPerSector: " & objItem.BytesPerSector
  3.       a = a & vbCrLf & "Caption: " & objItem.Caption
  4.       a = a & vbCrLf & "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
  5.       a = a & vbCrLf & "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
  6.       a = a & vbCrLf & "CreationClassName: " & objItem.CreationClassName
  7.       a = a & vbCrLf & "Description: " & objItem.Description
  8.       a = a & vbCrLf & "DeviceID: " & objItem.DeviceID
  9.       a = a & vbCrLf & "Index: " & objItem.Index
  10.       a = a & vbCrLf & "InterfaceType: " & objItem.InterfaceType
  11.       a = a & vbCrLf & "Manufacturer: " & objItem.Manufacturer
  12.       a = a & vbCrLf & "MediaLoaded: " & objItem.MediaLoaded
  13.       a = a & vbCrLf & "MediaType: " & objItem.MediaType
  14.       a = a & vbCrLf & "Model: " & objItem.Model
  15.       a = a & vbCrLf & "Name: " & objItem.Name
  16.       a = a & vbCrLf & "Partitions: " & objItem.Partitions
  17.       a = a & vbCrLf & "PNPDeviceID: " & objItem.PNPDeviceID
  18.       a = a & vbCrLf & "SCSIBus: " & objItem.SCSIBus
  19.       a = a & vbCrLf & "SCSILogicalUnit: " & objItem.SCSILogicalUnit
  20.       a = a & vbCrLf & "SCSIPort: " & objItem.SCSIPort
  21.       a = a & vbCrLf & "SCSITargetId: " & objItem.SCSITargetId
  22.       a = a & vbCrLf & "SectorsPerTrack: " & objItem.SectorsPerTrack
  23.       a = a & vbCrLf & "Signature: " & objItem.Signature
  24.       a = a & vbCrLf & "Size: " & objItem.Size
  25.       a = a & vbCrLf & "Status: " & objItem.Status
  26.       a = a & vbCrLf & "SystemCreationClassName: " & objItem.SystemCreationClassName
  27.       a = a & vbCrLf & "SystemName: " & objItem.SystemName
  28.       a = a & vbCrLf & "TotalCylinders: " & objItem.TotalCylinders
  29.       a = a & vbCrLf & "TotalHeads: " & objItem.TotalHeads
  30.       a = a & vbCrLf & "TotalSectors: " & objItem.TotalSectors
  31.       a = a & vbCrLf & "TotalTracks: " & objItem.TotalTracks
  32.       a = a & vbCrLf & "TracksPerCylinder: " & objItem.TracksPerCylinder
  33.    Next
  34.     MsgBox a
Hình đại diện của thành viên
truongphu1
Thành viên chính thức
Thành viên chính thức
 
Bài viết: 17
Ngày tham gia: Chủ nhật 28/12/2008 7:38 pm
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi manhhung87 » Thứ 2 29/12/2008 11:55 pm

Bác TruongPhu1 cho cháu hỏi dùng References nào để khi đánh objItem. thì nó hỗ trợ vậy
Công cụ quản trị website.
http://www.vnkweb.com
Hình đại diện của thành viên
manhhung87
Thành viên tâm huyết
Thành viên tâm huyết
 
Bài viết: 320
Ngày tham gia: Thứ 6 30/05/2008 8:47 am
Đến từ: Ha Noi University of Industry
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi truongphu1 » Thứ 3 30/12/2008 6:58 am

* Đây là đoạn mã WMI mà tôi đã chuyển qua code VB6

* Code WMI sẽ gọi WScript.exe (hay CScript.exe qua lệnh cmd) để thi hành một số tác vụ độc lập. Các file chứa code WMI thường viết trên notepad và lưu dưới đuôi VBS, chính WScript là trình biên dịch sẽ biên dịch đoạn code nầy, do đó không liên quan đến VB6 gì cả. Một số lệnh của VB6 không tương thích với WScript và ngược lại

* Để sử dụng một số chức năng trong WScript.exe, bạn có thể Add References WScript.exe vào Project, tuy nhiên thư viện chính sẽ hiện ra với tên IHost với các Class là FileSystemObject, IArguments_Class, IHost_Class, ISWHNamedArguments_Class và ISWHUnnamedArguments_Class. Tất cả các Class nầy không đảm nhận công việc của Code Thông tin Hard Disk nêu trên

* Tóm lại, Code Thông tin Hard Disk không thể Add References để khai báo tường minh được. Với đoạn mã trên, bạn chỉ việc dán vào một sub, ví dụ Private Sub Command1_Click() là xong. Nếu cầu kỳ, bạn có thể viết:
Mã: Chọn tất cả
  1. Private Sub Command1_Click()
  2. Dim objItem As Object
  3. Dim a as string
  4. '....
Hình đại diện của thành viên
truongphu1
Thành viên chính thức
Thành viên chính thức
 
Bài viết: 17
Ngày tham gia: Chủ nhật 28/12/2008 7:38 pm
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi manhhung87 » Thứ 3 30/12/2008 8:17 am

Cháu đã hiểu cảm ơn bác Truongphu1
Công cụ quản trị website.
http://www.vnkweb.com
Hình đại diện của thành viên
manhhung87
Thành viên tâm huyết
Thành viên tâm huyết
 
Bài viết: 320
Ngày tham gia: Thứ 6 30/05/2008 8:47 am
Đến từ: Ha Noi University of Industry
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi PhuongThanh37 » Thứ 3 30/12/2008 9:30 am

Chú ơi chú chưa test rồi. Cái đó làm sao lấy được Serial của physical drive 0. Cái đó chỉ lấy được srial của partition thôi.

Còn mấy cái VBS dùng WMI các bạn có thể xem tại:
http://www.activexperts.com/activmonito ... amples/hw/
http://www.activexperts.com/activmonito ... amples/os/
Muốn test trên VB chỉ việc thay thế Wscript.Echo = MsgBox là ok
Uống Chanh & nghe Chanh hát
PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
 
Bài viết: 87
Ngày tham gia: Thứ 6 09/09/2005 1:38 pm
Đến từ: Liên Hà, Đông Anh, HN
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi truongphu1 » Thứ 3 30/12/2008 10:42 am

PhuongThanh37 xem lại chứ
Bạn không được cấp phép để xem tập tin đính kèm trong bài viết này.
Hình đại diện của thành viên
truongphu1
Thành viên chính thức
Thành viên chính thức
 
Bài viết: 17
Ngày tham gia: Chủ nhật 28/12/2008 7:38 pm
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi PhuongThanh37 » Thứ 3 30/12/2008 11:32 am

Cái đó vẫn đâu phải là seri của ổ cứng
Cái gì cũng có trừ serial mới hay chứ. Cái dòng chú khoanh đỏ có ED-82-27 đó là Firmware.
Cháu Có bộ PC-3000 (http://www.pc3000.com/) chuyên sửa và cưu dữ liệu nên những cái này cháu thuộc lắm.
Serial của hdd đc lưu tại SA của ổ cứng.
Khi bắt đầu đọc ổ cứng sẽ đọc vào SA đầu tiên trong đó lưu trữ các thông tin của nhà sản xuất, các lỗi vật lý ban đầu của nhà sản xuất thông tin về ổ. Nói nôm na là nhiều thức lăm.
Chú muốn biết cái đoạn code của chú thiếu serial thì chú vào tải http://www.devlib.net/getdiskserial.htm về chạy thử sẽ thấy serial của ổ cứng máy chú là gì.

Hoặc chú có thể chạy cái file exe kia của cháu nó cũng đc sử dụng scrip đọc qua WMI đó.
Bạn không được cấp phép để xem tập tin đính kèm trong bài viết này.
Uống Chanh & nghe Chanh hát
PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
 
Bài viết: 87
Ngày tham gia: Thứ 6 09/09/2005 1:38 pm
Đến từ: Liên Hà, Đông Anh, HN
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi truongphu » Thứ 3 30/12/2008 1:38 pm

Cảm ơn PhuongThanh37
1- Cái serialhdd.exe không chạy ?
2- Sau đây là code của http://www.devlib.net/getdiskserial.htm
bản download demo
Bạn không được cấp phép để xem tập tin đính kèm trong bài viết này.
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh
Hình đại diện của thành viên
truongphu
VIP
VIP
 
Bài viết: 4692
Ngày tham gia: Chủ nhật 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Đã cảm ơn: 11 lần
Được cảm ơn: 431 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi PhuongThanh37 » Thứ 3 30/12/2008 1:54 pm

Vâng đúng rồi ạ. Cháu không để ý máy cháu chạy Vista chạy đc cháu chưa thử ở XP Sp2. Cháu vừa vào xp sp2 thì chạy đúng là không được.
Và đó chính là lý do cháu không thích sử dụng Scrip đấy chú ạ.
Còn về cái serial chú công nhận là cái đoạn code chú đưa không đọc được serial của hdd không chú.
Để đọc được serial thực của Physical Drive thì phải dùng DeviceIoControl đọc "dfp recive drive data" mới có thể lấy được serial của hdd.
Uống Chanh & nghe Chanh hát
PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
 
Bài viết: 87
Ngày tham gia: Thứ 6 09/09/2005 1:38 pm
Đến từ: Liên Hà, Đông Anh, HN
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi binbo_tm » Thứ 3 30/12/2008 6:37 pm

binbo_tm
 
Bài viết: 1
Ngày tham gia: Thứ 3 30/12/2008 6:30 pm
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: Lấy Số Serial Của Main Hoặc Cpu

Gửi bàigửi bởi PhuongThanh37 » Thứ 4 31/12/2008 8:36 pm

Cái cậu giới thiệu hay và rất đầy đủ của IDSector có ghi rất rõ 256 byte đó.
Uống Chanh & nghe Chanh hát
PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
 
Bài viết: 87
Ngày tham gia: Thứ 6 09/09/2005 1:38 pm
Đến từ: Liên Hà, Đông Anh, HN
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Trang kế tiếp

Quay về Visual Basic 6 và Visual Basic Script (VB & VBS)

Ai đang trực tuyến?

Đang xem chuyên mục này: Bing [Bot]3 khách