C#HWID检查,它可以工作,但不会传递到字符串中
好的,我检查HWID的代码运行良好,但是当它将HWID传递到字符串中时,它将返回空白 这是我使用的代码C#HWID检查,它可以工作,但不会传递到字符串中,c#,api,hwid,C#,Api,Hwid,好的,我检查HWID的代码运行良好,但是当它将HWID传递到字符串中时,它将返回空白 这是我使用的代码 private void Form1_Load(object sender, EventArgs e) { string HWID = string.Empty;//creating a empty string ManagementClass Management = new ManagementClass("win32_processor");//d
private void Form1_Load(object sender, EventArgs e)
{
string HWID = string.Empty;//creating a empty string
ManagementClass Management = new ManagementClass("win32_processor");//declaring the system management calss
ManagementObjectCollection MObject = Management.GetInstances();//decalring the system management object collection
foreach (ManagementObject mob in MObject)//having a foreach loop
{
if (string.IsNullOrEmpty(HWID))
{
HWID = mob.GetPropertyValue("processorID").ToString();//converting the HWID to string
break;
}
}
}
private void alphaBlendTextBox2_TextChanged(object sender, EventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
string loginUrl = "http://xxxxxx.xyz/customapi.php?username=" + alphaBlendTextBox1.Text + "&password=" + alphaBlendTextBox2.Text + "&hid=" + hwid + "&apiKey=APIKEYHERE&hid=" + HWID + "&ver=2";
为了让一切变得更清楚,我正在尝试进行API调用,一切都很好,但是当涉及到HWID时,它失败了
//编辑
我总是失败,如果有人愿意重写和修复代码,我会很高兴的。。谢谢 如果HWID字符串不是静态的或不能从其他方法或类访问,则无需将其设置为null 我知道任何人都有一些编码风格,但是如果你把你的评论写在你的代码上面,它会更清晰易读 请参见本教程和教程
如果我想获取HardwareID,我会为获取它创建一个方法,你必须在Form1\u Load之外声明字符串“HWID” 看来
string HWID = string.Empty;//creating a empty string
private void Form1_Load(object sender, EventArgs e)
{
ManagementClass Management = new ManagementClass("win32_processor");//declaring the system management calss
ManagementObjectCollection MObject = Management.GetInstances();//decalring the system management object collection
foreach (ManagementObject mob in MObject)//having a foreach loop
{
if (string.IsNullOrEmpty(HWID))
{
HWID = mob.GetPropertyValue("processorID").ToString();//converting the HWID to string
break;
}
}
}
我总是这样做
string HWID = String.Empty;
ManagementObjectSearcher moSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");
foreach (ManagementObject mngObj in moSearcher.Get())
{
HWID = mngObj["ProcessorId"].ToString();
}
让我试试,我会告诉你会发生什么,泰!我一直失败:/n您使HWID成为Form1_Load()方法的局部变量。删除“string”。@HansPassant是这样的吗?我有点修复它,现在的问题是,我需要使这个工作在64/32位PC上。这是正常的工作为32位,但在64位PC上它返回相同的ID无论什么