Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Làm sao để lấy số serial của mainboard... trong C#?

  1. #1
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Mặc định Làm sao để lấy số serial của mainboard... trong C#?

    Tôi mới tham gia vào diễn đàn và có câu hỏi như sau về C#
    Tôi định tìm cách lấy số serial của mainboard và nhiệt độ của card đồ họa nhưng tìm không ra giải pháp mặc dù tìm rất nhiều, có ai có thể giúp tôi không .
    Mong nhận được giúp đỡ.
    Đã được chỉnh sửa lần cuối bởi Rukato Merikaki : 15-06-2007 lúc 10:20 PM.

  2. #2
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Không dể đâu, phải dùng C/C++ và kernel driver mới lấy được. Hơn nữa 1 số mainboard không support serial number.
    Bây giờ cậu lên www.cpuid.com, download PCWizard về, xem thử mainboard của cậu có support serial number không đã, nếu được thì mới tính tiếp. Trên trang web này có bộ CPUID SDK, giúp cậu làm được việc này, nhưng phải mua. Còn không nữa thì RE xem làm sao PCWizard lấy được (hơi khó và lâu đấy).

  3. #3
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Anh đã nói vậy thì thôi vậy bởi C# sẵn đã không hỗ trợ hơn nữa để làm được lại phải bỏ tiền ra để làm, nên đành dừng ở đây vì thực cũng chẳng có vấn đề gì đặc biệt em hỏi cũng chỉ để học hỏi mà thôi .
    Dù sao cũng cảm ơn anh TQN nhiều
    Đã được chỉnh sửa lần cuối bởi Rukato Merikaki : 17-06-2007 lúc 02:08 PM.

  4. #4
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Cách 1

    _Sử dụng thành phần WMI của .NET <yêu cầu xài .NET Framework 2.0 trở lên>

    _Gọi thư viện :
    PHP Code:
    using System.Management
    _Query lấy thông tin của Hardware :
    PHP Code:
    ManagementObjectSearcher searcher = new ManagementObjectSearcher
                        
    ("select * from " Win32_Processor); 
    _Xử lý nốt những thông tin thu thập được
    PHP Code:
    foreach (ManagementObject share in searcher.Get())
    {
    // Code xử lý ...

    _có thể lấy ra các properties từ ManagementObject
    PHP Code:
    foreach (PropertyData PC in share.Properties)
    {
     
    // Code xử lý...

    Cách 2:
    _Cơ bản là cách 1 nhưng tối ưu hơn, tránh những import không cần thiết
    _Add Reference : System.Management.dll
    Dùng code mẫu sau gọi trực tiếp ProcessorID :
    PHP Code:


    System
    .Management.ManagementClass theClass = new System.Management.ManagementClass("Win32_Processor");
    System.Management.ManagementObjectCollection theCollectionOfResults theClass.GetInstances();
     
    foreach(
    System.Management.ManagementObject currentResult in theCollectionOfResults)
    {
       
    MessageBox.Show(currentResult["ProcessorID"].ToString());

    _WMI là một thành phần quan trọng giúp bạn tránh phải code nhiều, nhưng mà phải hiểu mới làm được. Vào trang chủ của microsoft download cây WMI SDK Documentation về để tham khảo chi tiết.
    None!

  5. #5
    Ngày gia nhập
    09 2009
    Bài viết
    106

    Code:
    class Win32_Processor : CIM_Processor
    {
    uint16 AddressWidth ;
    uint16 Architecture ;
    uint16 Availability ;
    string Caption ;
    uint32 ConfigManagerErrorCode ;
    boolean ConfigManagerUserConfig ;
    uint16 CpuStatus ;
    string CreationClassName ;
    uint32 CurrentClockSpeed ;
    uint16 CurrentVoltage ;
    uint16 DataWidth ;
    string Description ;
    string DeviceID ;
    boolean ErrorCleared ;
    string ErrorDescription ;
    uint32 ExtClock ;
    uint16 Family ;
    datetime InstallDate ;
    uint32 L2CacheSize ;
    uint32 L2CacheSpeed ;
    uint32 LastErrorCode ;
    uint16 Level ;
    uint16 LoadPercentage ;
    string Manufacturer ;
    uint32 MaxClockSpeed ;
    string Name ;
    string OtherFamilyDescription ;
    string PNPDeviceID ;
    uint16 PowerManagementCapabilities[] ;
    boolean PowerManagementSupported ;
    string ProcessorId ; //<< Đoạn ví dụ đã lấy field này ra
    uint16 ProcessorType ;
    uint16 Revision ;
    string Role ;
    string SocketDesignation ;
    string Status ;
    uint16 StatusInfo ;
    string Stepping ;
    string SystemCreationClassName ;
    string SystemName ;
    string UniqueId ;
    uint16 UpgradeMethod ;
    string Version ;
    uint32 VoltageCaps ;
    };
    http://www.microsoft.com/downloads/i...c4%2fSetup.exe

    link WMI SDK Documentation

    muốn tìm thông tin Mainboard làm thế nào thế

    Code:
    namespace Wmi
    {
    	class Program
    	{
    		static void Main( string[ ] args )
    		{
    			ManagementScope scope = new ManagementScope("\\\\" + Environment.MachineName + "\\root\\cimv2");
    			scope.Connect();
    
    			ManagementObject wmiClass = new ManagementObject( scope, new ManagementPath( "Win32_BaseBoard.Tag=\"Base Board\"" ), new ObjectGetOptions( ) );
    
    			foreach( PropertyData propData in wmiClass.Properties )
    			{
    				Console.WriteLine( String.Format( "{0,-25}{1}", propData.Name, Convert.ToString( propData.Value ) ) );
    			}
    		}
    	}
    }
    Đã được chỉnh sửa lần cuối bởi MartSoft : 02-10-2009 lúc 02:46 PM.

  6. #6
    Ngày gia nhập
    09 2009
    Bài viết
    106

    Mặc định Làm sao để lấy số serial của mainboard... trong C#?

    sử dụng VBScript
    Code:
    Function ShowBaseboardInfo()
    	On Error Resume Next
    	DisplayOutputHeader("Baseboard - Win32_BaseBoard")
    	str = ""
    	Set objWMIService = GetWMIServices()
    	Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard")
    	For Each objItem in colItems
    	    str = str & GetTableHeader()
    	    For Each strOption in objItem.ConfigOptions
    	        str = str & GetRow("Configuration Option", strOption)
    	    Next
    	    str = str & GetRow("Depth", objItem.Depth)
    	    str = str & GetRow("Description", objItem.Description)
    	    str = str & GetRow("Height", objItem.Height)
    	    str = str & GetRow("Hosting Board", objItem.HostingBoard)
    	    str = str & GetRow("Hot Swappable", objItem.HotSwappable)
    	    str = str & GetRow("Manufacturer", objItem.Manufacturer)
    	    str = str & GetRow("Model", objItem.Model)
    	    str = str & GetRow("Name", objItem.Name)
    	    str = str & GetRow("Other Identifying Information", objItem.OtherIdentifyingInfo)
    	    str = str & GetRow("Part Number", objItem.PartNumber)
    	    str = str & GetRow("Powered On", objItem.PoweredOn)
    	    str = str & GetRow("Product", objItem.Product)
    	    str = str & GetRow("Removable", objItem.Removable)
    	    str = str & GetRow("Replaceable", objItem.Replaceable)
    	    str = str & GetRow("Requirements Description", objItem.RequirementsDescription)
    	    str = str & GetRow("Requires DaughterBoard", objItem.RequiresDaughterBoard)
    	    str = str & GetRow("Serial Number", objItem.SerialNumber)
    	    str = str & GetRow("SKU", objItem.SKU)
    	    str = str & GetRow("Slot Layout", objItem.SlotLayout)
    	    str = str & GetRow("Special Requirements", objItem.SpecialRequirements)
    	    str = str & GetRow("Tag", objItem.Tag)
    	    str = str & GetRow("Version", objItem.Version)
    	    str = str & GetRow("Weight", objItem.Weight)
    	    str = str & GetRow("Width", objItem.Width)
    	    str = str & GetTableFooter()
    	Next
    	DisplayOutput(str)
    End Function

    Code:
    Function GetRow(PropName, PropValue)
    	str = "<TR>"
    	str = str & "<TD class='PropName'>" & PropName & "</TD>"
    	str = str & "<TD>" & PropValue & "</TD>"
    	str = str & "</TR>" & vbCRLF
    	GetRow = str
    End Function
    Đã được chỉnh sửa lần cuối bởi MartSoft : 02-10-2009 lúc 02:40 PM.

  7. #7
    Ngày gia nhập
    08 2008
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    188

    Có thể lấy số serial của các Device khác được không?
    Các thiết bị bên ngoài kết nối qua USB chẳng hạn.
    Em đang muốn lấy số serial định danh của từng máy in kết nối với máy tính của mình.

    Fb-YM-Skype-Mail : leemanhj916 [@gmail.com]

Các đề tài tương tự

  1. Serial sách hướng dẫn lập trình Apress
    Gửi bởi huygamer trong diễn đàn Công cụ, Tài liệu lập trình Objective-C
    Trả lời: 8
    Bài viết cuối: 01-06-2013, 08:52 AM
  2. Phần mềm tự động điền Serial
    Gửi bởi so0_lanhlung trong diễn đàn Sản phẩm phần mềm của bạn
    Trả lời: 4
    Bài viết cuối: 29-07-2010, 09:53 AM
  3. Có thể thay đổi số Serial của HDD không?
    Gửi bởi peterdrew trong diễn đàn Thắc mắc chung
    Trả lời: 3
    Bài viết cuối: 02-07-2010, 11:41 PM
  4. Find ID MainBoard
    Gửi bởi MartSoft trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 30-09-2009, 09:36 PM
  5. [C++] Cần Serial code
    Gửi bởi jplearnc trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 22-03-2007, 05:52 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn