Пример #1
0
    //获得网卡序列号----MAc地址
    public string GetMoAddress()
    {
        try
        {
            //读取硬盘序列号
            ManagementObject disk;
            disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
            disk.Get();

            string MoAddress = "BD-CNSOFTWEB";
            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moc2 = mc.GetInstances();
            foreach (ManagementObject mo in moc2)
            {
                if ((bool)mo["IPEnabled"] == true)
                {
                    string a = mo["MacAddress"].ToString();
                    string c = disk.GetPropertyValue("VolumeSerialNumber").ToString();
                    MoAddress = "BD-" + a + "-" + c + "-CNSOFTWEB";
                    break;
                }
            }
            return MoAddress.ToString().Replace(":", "");
        }
        catch
        {
            return "BD-ERR-CNSOFTWEB";
        }
    }
Пример #2
0
        public string GetHDDSerialNumber()
        {
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"C:\"");

            disk.Get();

            return(disk["VolumeSerialNumber"].ToString());
        }
Пример #3
0
        /// <summary>
        /// 获取打印机状态
        /// </summary>
        /// <returns></returns>
        public static int getStatus(String printer_name)
        {
            string           path    = @"win32_printer.DeviceId='" + printer_name + "'";
            ManagementObject printer = new ManagementObject(path);

            printer.Get();
            return(Convert.ToInt32(printer.Properties["PrinterStatus"].Value));
        }
Пример #4
0
        //获取设备硬件卷号
        public static string get_Disk_VolumeSerialNumber()
        {
            ManagementClass  mc   = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"d:\"");

            disk.Get();
            return(disk.GetPropertyValue("VolumeSerialNumber").ToString());
        }
Пример #5
0
        public static string GetDiskVolumeSerialNumber()
        {
            ManagementClass  managementClass  = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObject managementObject = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");

            managementObject.Get();
            return(managementObject.GetPropertyValue("VolumeSerialNumber").ToString());
        }
Пример #6
0
 private static ManagementObject GetServiceManagementObjectByName(string name)
 {
     using (var mngObj = new ManagementObject($"Win32_Service.Name='{name}'"))
     {
         mngObj.Get();
         return(mngObj);
     }
 }
Пример #7
0
 public void Set_Property_Win32_ComputerSystem()
 {
     using (ManagementObject obj = new ManagementObject($"Win32_ComputerSystem.Name=\"{Environment.MachineName}\""))
     {
         obj.Get();
         obj.SetPropertyValue("Workgroup", "WmiTests");
     }
 }
Пример #8
0
        /// <summary>
        /// Computes the amount of free disk space
        /// <para>Units is in bytes</para>
        /// </summary>
        /// <param name="drive">This parameter is the drive volume to be checked</param>
        /// <returns>Amount of disk space in bytes, represented by 64-bit unsigned integer</returns>
        private ulong GetFreeDiskSpaceInBytes(string drive)
        {
            ManagementObject disk = new ManagementObject(
                "win32_logicaldisk.deviceid=\"" + drive + ":\"");

            disk.Get();
            return((ulong)disk["FreeSpace"]);
        }
        static void Main(string[] args)
        {
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");

            disk.Get();
            Console.WriteLine(disk["VolumeName"]);
            Console.ReadLine();
        }
Пример #10
0
        public static string getHWID()
        {
            ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:""");

            dsk.Get();
            hwid = dsk["VolumeSerialNumber"].ToString();
            return(hwid);
        }
Пример #11
0
        /// <summary>
        /// C盘序列号
        /// </summary>
        /// <returns></returns>
        public static string GetDiskVolumeSerialNumber()
        {
            ManagementObject disk;

            disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
            disk.Get();
            return(disk.GetPropertyValue("VolumeSerialNumber").ToString());
        }
Пример #12
0
        public static string Serial()
        {
            string           HDD  = Environment.CurrentDirectory.Substring(0, 1);
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + HDD + ":\"");

            disk.Get();
            return(disk["volumeSerialNumber"].ToString());
        }
Пример #13
0
        /// <summary>
        /// Return unique key.
        ///  If there is error in finding the key, will return 0
        ///
        /// For more info on extracting entire system. Refer to project in
        /// https://www.codeproject.com/Articles/17973/How-To-Get-Hardware-Information-CPU-ID-MainBoard-I
        /// </summary>
        /// <returns></returns>
        public static string GetUniqueID()
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");

            // Chain different architecture into one
            string machineUniqueId = "";

            try {
                // CPU-related serial number
                foreach (ManagementObject queryObj in searcher.Get())
                {
                    machineUniqueId +=
                        queryObj["Architecture"].ToString() + "_" +
                        queryObj["Caption"].ToString() + "_" +
                        queryObj["Family"].ToString() + "_" +
                        queryObj["ProcessorId"].ToString() + "_" + // CPU
                        queryObj["SystemName"].ToString();         // Motherboard
                }

                // Attach Hardisk serial number
                string hardiskSerial = "";
                try
                {
                    string           winPath = System.IO.Path.GetPathRoot(Environment.SystemDirectory);
                    ManagementObject dsk     = new ManagementObject(@"win32_logicaldisk.deviceid=""" + winPath.Substring(0, 1) + @":""");
                    dsk.Get();
                    hardiskSerial = dsk["VolumeSerialNumber"].ToString();
                }
                catch
                {
                    hardiskSerial = "";
                }
                machineUniqueId += "_" + hardiskSerial;


                // IGNORE THIS PART. MAC can be spoofed

                /*
                 * // Attach MAC address
                 * String firstMacAddress = NetworkInterface
                 *  .GetAllNetworkInterfaces()
                 *  .Where(nic => nic.OperationalStatus == OperationalStatus.Up && nic.NetworkInterfaceType != NetworkInterfaceType.Loopback)
                 *  .Select(nic => nic.GetPhysicalAddress().ToString())
                 *  .FirstOrDefault();
                 *
                 * machineUniqueId += "_" + firstMacAddress;
                 */

                // Remove empty space with "_"
                //machineUniqueId = StringEx.Replace(machineUniqueId, " ", "_", StringComparison.CurrentCulture);

                return(machineUniqueId);
            }
            catch
            {
                return("0");
            }
        }
Пример #14
0
        /// <summary>
        /// 获取本计算机唯一的机器码
        /// </summary>
        /// <returns>字符串形式的机器码</returns>
        public static string GetInfo()
        {
            //说明 这个方法所有的获取hwid的行为均在Ring3模式下获取 方法前半部分为WMI 后半部分为S.M.A.R.T.(DeviceIoControl())
            //程序依赖kernel32.dll不能运行在wince下 纯c#解决方案几乎不可能在Ring0模式下获取 如果有更高的要求建议加密狗
            string unique = "";

            //bios名称
            unique += HWID.BIOS + "|";
            //cpu信息
            unique += HWID.CPU + "|";
            //硬盘信息
            unique += HWID.HDD + "|";
            //主板信息
            unique += HWID.BaseBoard + "|";
            //mac信息 群主建议取消mac计算 这里建议放弃 mac太玄学了
            //unique += HWID.MAC + "|";
            //是否存在scsi
            if (HWID.IsServer)
            {
                unique += HWID.SCSI + "|";
            }

            //获取系统盘ID 新增 较为稳定
            string           systempath        = Environment.GetEnvironmentVariable("systemdrive");//获取当前系统盘
            string           win32_logicaldisk = "\"" + systempath + "\"";
            ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=" + win32_logicaldisk);

            dsk.Get();
            unique += dsk["VolumeSerialNumber"].ToString();
            unique += "|";

            //获取SMBIOS的id https://docs.microsoft.com/zh-cn/windows/desktop/CIMWin32Prov/win32-computersystemproduct
            ManagementClass            cimobject3 = new ManagementClass("Win32_ComputerSystemProduct");
            ManagementObjectCollection moc3       = cimobject3.GetInstances();

            foreach (ManagementObject mo in moc3)
            {
                unique += (string)mo.Properties["UUID"].Value;
                break;
            }
            unique += "|";

            WindowsIdentity  current          = WindowsIdentity.GetCurrent();
            WindowsPrincipal windowsPrincipal = new WindowsPrincipal(current);
            bool             IsAdmin          = windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator);

            //硬盘物理id
            if (IsAdmin)
            {
                var HddInfo = GetHddInfo();
                unique += HddInfo.SerialNumber;
            }
            SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider();
            var md5 = SoftBasic.ByteToHexString(SHA1.ComputeHash(Encoding.Unicode.GetBytes(unique)));

            return(md5.Substring(0, 25));
        }
Пример #15
0
        private static string getDiskID()
        {
            ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""" + "C" + @":""");

            dsk.Get();
            string volumeSerial = dsk["VolumeSerialNumber"].ToString();

            return(volumeSerial);
        }
Пример #16
0
 static void ShowServerConnectionProperties(string objectClass)
 {
     using (ManagementObject process = new ManagementObject(objectClass))
     {
         process.Get();
         PropertyDataCollection processProperties = process.Properties;
         Console.WriteLine("ConnectionID: {0,6} \tShareName: {1}", processProperties["ConnectionID"].Value, processProperties["ShareName"].Value);
     }
 }
Пример #17
0
 static void ShowServerConnectionProperties(string objectClass)
 {
     using (ManagementObject process = new ManagementObject(objectClass))
     {
         process.Get();
         PropertyDataCollection processProperties = process.Properties;
         Console.WriteLine("ConnectionID: {0,6} \tShareName: {1}", processProperties["ConnectionID"].Value, processProperties["ShareName"].Value);
     }
 }
        private void LoadDescription()
        {
            ManagementObject wmiService;

            wmiService = new ManagementObject("Win32_Service.Name='" + ServiceController.ServiceName + "'");
            wmiService.Get();

            Description = wmiService["Description"] == null ? "" : wmiService["Description"].ToString();
        }
Пример #19
0
        /// <summary>
        /// Retorna o HDID do Disco local selecionado.
        /// </summary>
        /// <returns>HDID</returns>
        private static string GetHDID()
        {
            var dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""" +
                                           HDInst + @":""");

            dsk.Get();

            return(dsk["VolumeSerialNumber"].ToString());
        }
Пример #20
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public static string GetPartitionId(string partition)
        {
            ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""" + partition + "\"");

            dsk.Get();
            string diskid = dsk["VolumeSerialNumber"].ToString();

            return(diskid);
        }
Пример #21
0
        public string GetNSerieHD()
        {
            string           sHD  = "";
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");

            disk.Get();
            sHD = disk["VolumeSerialNumber"].ToString();
            return(sHD);
        }
Пример #22
0
        /// <summary>
        /// 取得设备硬盘的卷标号
        /// </summary>
        /// <returns></returns>
        public static string GetDiskVolumeSerialNumber()
        {
            string           osLetter = GetOsLetter();//系统所在盘符,一般为"c:"
            ManagementClass  mc       = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObject disk     = new ManagementObject($"win32_logicaldisk.deviceid=\"{osLetter}\"");

            disk.Get();
            return(disk.GetPropertyValue("VolumeSerialNumber").ToString());
        }
Пример #23
0
        private static string GetVolumeSerial()
        {
            string           drive            = "C";
            ManagementObject managementObject = new ManagementObject(@"win32_logicaldisk.deviceid=""" + drive + @":""");

            managementObject.Get();

            return(managementObject["VolumeSerialNumber"].ToString());
        }
Пример #24
0
        public string serialHD(string _HD)
        {
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + _HD + "");

            disk.Get();
            string serial = disk["VolumeSerialNumber"].ToString();

            return(serial);
        }
Пример #25
0
        /// <summary>
        /// Constant hash specific to machine
        /// Solution from
        /// http://stackoverflow.com/questions/3474940/unique-computer-id-c/3474966#3474966
        /// </summary>
        /// <returns></returns>
        public static string GetUniqueStringID(int size = 20)
        {
            if (size > 20)
            {
                throw new ArgumentException("Size must be 20 or less");
            }

            string uniqueId;

            var cpuInfo = string.Empty;

            try
            {
                var cpu    = new ManagementClass("win32_processor");
                var cpuCol = cpu.GetInstances();
                foreach (var o in cpuCol)
                {
                    var mo = (ManagementObject)o;
                    cpuInfo = mo.Properties["processorID"].Value.ToString();
                    break;
                }
            }
            catch { }

            var volumeSerial = string.Empty;;

            try
            {
                const string drive = "C";
                var          dsk   = new ManagementObject(
                    @"win32_logicaldisk.deviceid=""" + drive + @":""");
                dsk.Get();
                volumeSerial = dsk["VolumeSerialNumber"].ToString();
            }
            catch { }

            var boardInfo = string.Empty;

            try
            {
                var board    = new ManagementClass("Win32_baseboard");
                var boardCol = board.GetInstances();

                foreach (var bmo in boardCol.Cast <ManagementObject>())
                {
                    boardInfo = bmo.Properties["SerialNumber"].Value.ToString();
                    break;
                }
            }
            catch { }


            uniqueId = cpuInfo + volumeSerial + boardInfo;


            return(uniqueId.GetStringHash().Substring(0, size * 2));
        }
Пример #26
0
        /// <summary>
        /// Número de serie del disco duro donde esta instalado el sistema operativo
        /// </summary>
        /// <param name="strDriveLetter"></param>
        /// <returns></returns>
        public static string GetVolumeSerialSystem()
        {
            string           strDriveLetter = Environment.SystemDirectory.Substring(0, 1);
            ManagementObject disk           =
                new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter + ":\"");

            disk.Get();
            return(disk["VolumeSerialNumber"].ToString());
        }
Пример #27
0
        private void Login_Load(object sender, EventArgs e)
        {
            ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:""");

            dsk.Get();
            hwid               = dsk["VolumeSerialNumber"].ToString();
            textBox1.Text      = hwid;
            textBox1.TextAlign = HorizontalAlignment.Center;
        }
Пример #28
0
 private string GetServicePath(string serviceName)
 {
     using (ManagementObject wmiService = new ManagementObject("Win32_Service.Name='" + serviceName + "'"))
     {
         wmiService.Get();
         string currentserviceExePath = wmiService["PathName"].ToString();
         return(currentserviceExePath);
     }
 }
Пример #29
0
        public static string getSerialNumber()
        {
            ManagementObject managementObject = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");

            managementObject.Get();
            string text = managementObject.GetPropertyValue("VolumeSerialNumber").ToString();

            return((Convert.ToInt64(text, 16) ^ Convert.ToInt64("".PadRight(text.Length, 'F'), 16) + 354665879L).ToString("X"));
        }
Пример #30
0
        public static string GetHardDiskSerialNumber(string drive = "C")
        {
            ManagementObject managementObject = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + drive + ":\"");

            managementObject.Get();
            Console.WriteLine(managementObject["VolumeSerialNumber"].ToString());

            return(managementObject["VolumeSerialNumber"].ToString());
        }
Пример #31
0
        public static string GetHardDriveId()
        {
            var drive = "C";
            var dsk   = new ManagementObject(
                @"win32_logicaldisk.deviceid=""" + drive + @":""");

            dsk.Get();
            return(dsk["VolumeSerialNumber"].ToString());
        }
Пример #32
0
        private static string GetHardDiskId()
        {
            ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""c:""");

            dsk.Get();
            string id = dsk["VolumeSerialNumber"].ToString();

            return(id);
        }
Пример #33
0
    public static string GetVolumeSerial(string strDriveLetter)
    {
        if( strDriveLetter=="" || strDriveLetter==null)
        {
            strDriveLetter="C";
        }

        ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter +":\"");
        disk.Get();
        return disk["VolumeSerialNumber"].ToString();
    }
Пример #34
0
 /// <summary>
 /// 获取机器号码
 /// </summary>
 /// <returns></returns>
 public static string GetDiskCPUNumber()
 {
     string strDiskCPUNumber = "";
     // 取得设备硬盘的卷标号
     string strDisk = null;
     ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
     ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
     disk.Get();
     strDisk = disk.GetPropertyValue("VolumeSerialNumber").ToString();
     //获得CPU的序列号
     string strCPU = null;
     ManagementClass myCpu = new ManagementClass("win32_Processor");
     ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
     foreach (ManagementObject myObject in myCpuConnection)
     {
         strCPU = myObject.Properties["Processorid"].Value.ToString();
         break;
     }
     return strDiskCPUNumber = strCPU + strDisk;
 }
Пример #35
0
 protected string GetDriveUsageStr(string driveLetter)
 {
     string ret="";
       try
       {
     ManagementObject drive = new ManagementObject("Win32_LogicalDisk.DeviceID=\""+driveLetter+"\"");
     drive.Get();
     UInt64 total=(UInt64)drive["Size"];
     UInt64 free=(UInt64)drive["FreeSpace"];
     UInt64 used=total-free;
     total=(total/1024)/1024;
     used=(used/1024)/1024;
     free = (free / 1024) / 1024;
     ret=driveLetter+" free:  "+free.ToString()+" Mb  used: "+used.ToString()+" Mb / "+total.ToString()+" Mb";
       }
       catch (Exception)
       {
     return driveLetter+" (unknown)";
       }
       return ret;
 }