怎么用Winform用按钮点击事件把这个硬盘物理序列号隐藏掉

怎么用Winform用按钮点击事件把这个硬盘物理序列号隐藏掉??重启就会恢复的那种。求源码

img

以下部分回答来自GPT:

思路如下:

  1. 要隐藏硬盘物理序列号,您需要使用WMI(Windows Management Instrumentation)来获取和修改硬盘信息。

  2. 要让更改在重启后恢复,您可以将旧的硬盘序列号备份,并在系统启动时将其还原回去。

下面是一个简单的示例代码,演示如何使用C#和WMI来隐藏硬盘物理序列号:

using System;
using System.Management;

namespace HideDiskSerialNumber
{
    public partial class MainForm : Form
    {
        private string originalSerialNumber;

        public MainForm()
        {
            InitializeComponent();
        }

        private void btnHide_Click(object sender, EventArgs e)
        {
            // 获取硬盘序列号
            var disk = new ManagementObject("Win32_LogicalDisk.DeviceID='C:'");
            originalSerialNumber = disk["VolumeSerialNumber"].ToString();

            // 隐藏硬盘序列号
            disk["VolumeSerialNumber"] = "00000000";
            disk.Put();

            MessageBox.Show("硬盘序列号已隐藏。");
        }

        private void btnRestore_Click(object sender, EventArgs e)
        {
            // 恢复原始的硬盘序列号
            var disk = new ManagementObject("Win32_LogicalDisk.DeviceID='C:'");
            disk["VolumeSerialNumber"] = originalSerialNumber;
            disk.Put();

            MessageBox.Show("硬盘序列号已恢复。");
        }
    }
}

以上代码演示了一个使用WinForms的界面,其中包含两个按钮:btnHide(隐藏)和btnRestore(恢复)。当点击"隐藏"按钮时,会获取原始硬盘序列号并将其修改为"00000000",然后点击"恢复"按钮时,会将硬盘序列号还原回原始值。

请注意,这只是一个示例代码,并不能保证在所有系统上都能正常运行。在实际使用时,请根据您的具体需求进行修改和测试。

你这个查询方法不是我要查询的
这个是我的查询硬盘机器码的代码:

img


这个是没隐藏的:

img


这个是隐藏了的:

img