⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 detectandencrypt.cs

📁 获取硬盘串号,Cpu串号等硬件信息,通过C#获取本机器硬件信息
💻 CS
字号:
using System;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Management;

namespace WindowsApplication1
{
	/// <summary>
	/// detectandencrypt 的摘要说明。
	/// </summary>
	public class Detectandencrypt
	{
		
		[DllImport("reg.dll") ]
		private static extern bool  EncryptStringFun1(
											 string lpInBuffer,
											 string lpKey,
											[Out] StringBuilder lpOutBuffer);
		[DllImport("reg.dll") ]
		private static extern bool  DecryptStringFun1(
											string lpInBuffer,
											string lpKey,
											[Out] StringBuilder lpOutBuffer
											);

		[DllImport("reg.dll") ]
		private static extern bool  EncryptStringFun2(
											 string lpInBuffer,
											 string lpKey,
											 [Out] StringBuilder lpOutBuffer 
											 );

		[DllImport("reg.dll") ]
		private static extern bool  DecryptStringFun2(
											 string lpInBuffer,
											 string lpKey,
											 [Out] StringBuilder lpOutBuffer
											 );
		[DllImport("reg.dll") ]
		private static extern bool FileEncrypt(
											string lpInputFileName,
											string lpOutputFileName,
											string lpKey
											);
		[DllImport("reg.dll") ]
		private static extern bool  FileDecrypt(
											string lpInputFileName,
											string lpOutputFileName,
											string lpKey
											);

		[DllImport("reg.dll")]
		private static extern bool  GetHardDiskId([Out] StringBuilder  lpOutBuffer,int nDrive);
		[DllImport("reg.dll")]
		private static extern bool  GetMainBoardId([Out] StringBuilder lpOutBuffer, int Mode);
		[DllImport("reg.dll")]
		private static extern bool GetCPUId([Out] StringBuilder lpOutBuffer);
		[DllImport("reg.dll")]
		private static extern bool  GetMACAddress([Out] StringBuilder  lpOutBuffer);


//		public detectandencrypt()
//		{
//			SetValue("serialno");
//		}

		public bool fileDecrypt(string lpInputFileName,string lpOutputFileName,string lpKey)
		{
			try
			{
				return FileDecrypt(lpInputFileName,lpOutputFileName,lpKey);
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}
		public bool fileEncrypt(string lpInputFileName,string lpOutputFileName,string lpKey)
		{
			try
			{
				return FileEncrypt(lpInputFileName,lpOutputFileName,lpKey);
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}
		public string encryptStringFun1(string lpInBuffer,string lpKey)
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if (EncryptStringFun1(lpInBuffer,lpKey,lpOutBuffer))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}
		public string decryptStringFun1(string lpInBuffer,string lpKey)
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if (DecryptStringFun1(lpInBuffer,lpKey,lpOutBuffer))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}
		public string encryptStringFun2(string lpInBuffer,string lpKey)
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if (EncryptStringFun2(lpInBuffer,lpKey,lpOutBuffer))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}
		public string decryptStringFun2(string lpInBuffer,string lpKey)
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if (DecryptStringFun2(lpInBuffer,lpKey,lpOutBuffer))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}
		public string getMACAddress()
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if (GetMACAddress(lpOutBuffer))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}

		public string getCPUId()
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if (GetCPUId(lpOutBuffer))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}
		public string getMainBoardId()
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if(GetMainBoardId(lpOutBuffer,0))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
			}
		}


		public string getHardDiskId()
		{
			StringBuilder lpOutBuffer=new StringBuilder(0,500);
			try
			{
				if (GetHardDiskId(lpOutBuffer,0))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else if(GetHardDiskId(lpOutBuffer,1))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else if(GetHardDiskId(lpOutBuffer,2))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else if(GetHardDiskId(lpOutBuffer,3))
				{
					return lpOutBuffer.ToString().Trim();
				}
				else
				{
					return "-1";
				}
			}
			catch (System.Exception e)
			{
				throw (e);
			}
			finally
			{
				
			}
		}

		#region 不调用api

		//获取主板序列号
		public string GetBIOSSerialNumber() 
		{
			try
			{
				ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS");
				string  sBIOSSerialNumber = "";
				foreach (ManagementObject mo in searcher.Get())
				{
					sBIOSSerialNumber = mo["SerialNumber"].ToString().Trim();
				}
				return sBIOSSerialNumber;
			}
			catch
			{
				return "";
			}
		}
		//获取CPU序列号
		public string GetCPUSerialNumber() 
		{
			try
			{
				ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Processor");
				string  sCPUSerialNumber = "";
				foreach (ManagementObject mo in searcher.Get())
				{
					sCPUSerialNumber = mo["ProcessorId"].ToString().Trim();
				}
				return sCPUSerialNumber;
			}
			catch
			{
				return "";
			}
		}
		//获取硬盘序列号
		public string GetHardDiskSerialNumber()
		{
			try
			{
				ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
				string sHardDiskSerialNumber = "";
				foreach(ManagementObject mo in searcher.Get())
				{
					sHardDiskSerialNumber = mo["SerialNumber"].ToString().Trim();
					break;
				}
				return sHardDiskSerialNumber;
			}
			catch
			{
				return "";
			}
		}
		//获取网卡地址
		public string GetNetCardMACAddress()
		{
			try
			{
				ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))");
				string NetCardMACAddress = "";
				foreach(ManagementObject mo in searcher.Get()) 
				{ 
					NetCardMACAddress = mo["MACAddress"].ToString().Trim();
				}
				return NetCardMACAddress;
			}
			catch
			{
				return "";
			}
		}

		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -