社区
C#
帖子详情
如何得到服务器硬盘的物理序列号~
gggg139
2004-09-05 04:12:27
请注意:是物理序列号
自己没亲自试过的代码就不要贴上来了
谁第一个帮我解决,分就给谁
...全文
657
6
打赏
收藏
如何得到服务器硬盘的物理序列号~
请注意:是物理序列号 自己没亲自试过的代码就不要贴上来了 谁第一个帮我解决,分就给谁
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnming
2004-09-05
打赏
举报
回复
试着把你的程序放在WebService上看看
coollzh
2004-09-05
打赏
举报
回复
估计是权限问题
gggg139
2004-09-05
打赏
举报
回复
为什么这段代码放在ASP.NET就没任何显示
Tomgus
2004-09-05
打赏
举报
回复
还有个问题首先得考虑的就是你的硬盘是不是SCSI硬盘
如果是,那么根本不存在"物理序列号",只可能取得卷标的序列号
如果是卷标序列号,要注意的是每次格式化硬盘的时候这个序列号都会变
代码可以参考:
http://www.csdn.net/Develop/Read_Article.asp?Id=25196
如果是物理序列号:
String HDid;
ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
HDid = (string)mo.Properties["Model"].Value;
MessageBox.Show(HDid );
}
Tomgus
2004-09-05
打赏
举报
回复
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Management ;
namespace WindowsApplication1
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(24, 24);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label1
//
this.label1.Location = new System.Drawing.Point(24, 104);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(240, 23);
this.label1.TabIndex = 1;
this.label1.Text = "label1";
//
// label2
//
this.label2.Location = new System.Drawing.Point(24, 134);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(240, 23);
this.label2.TabIndex = 2;
this.label2.Text = "label2";
//
// label3
//
this.label3.Location = new System.Drawing.Point(24, 164);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(240, 23);
this.label3.TabIndex = 3;
this.label3.Text = "label3";
//
// label4
//
this.label4.Location = new System.Drawing.Point(24, 194);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(240, 23);
this.label4.TabIndex = 4;
this.label4.Text = "label4";
//
// label5
//
this.label5.Location = new System.Drawing.Point(24, 224);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(240, 23);
this.label5.TabIndex = 5;
this.label5.Text = "label5";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
ManagementObjectSearcher my = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
foreach(ManagementObject share in my.Get())
{
label1.Text= "主板制造商:" + share["Manufacturer"].ToString();
label2.Text= "产品:" + share["Product"].ToString();
label3.Text= "主板序列号:" + share["SerialNumber"].ToString();
}
//得到cpu序列号
string strCPUNo = "";
ManagementClass cimObject = new ManagementClass("Win32_Processor");
ManagementObjectCollection mocHard = cimObject.GetInstances();
foreach(ManagementObject moHard in mocHard)
{
strCPUNo = moHard.Properties["ProcessorId"].Value.ToString();
}
label4.Text = "CPU序列号为:" + strCPUNo;
//硬盘序列号
ManagementObject m_objDisk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
string strSN = (string)m_objDisk.GetPropertyValue("VolumeSerialNumber");
label5.Text = "硬盘序列号为:" + strSN ;
}
}
}
使用 System.Management,注意,要在项目中将此组件引用进来。
Tomgus
2004-09-05
打赏
举报
回复
http://dotnet.aspx.cc/ShowDetail.aspx?id=6977HLMY-ELPN-4KIR-BI89-7YS2LNENT5HR
真正的获取
硬盘
物理
序列号
(完全可以用)
真正的获取
硬盘
物理
序列号
(完全可以用),本人在项目中实际应用。不是一般的获取
硬盘
的逻辑序号
模拟
硬盘
物理
序列号
工具(驱动级).rar
软件介绍: 驱动级模拟
硬盘
物理
序列号
使用方法:直接运行diskhook.exe,将会加载一个hdhook.sys驱动,右击任务栏右下角的绿色图标setting弹出当前
硬盘
号,下面的框中输入你要模拟的
硬盘
号,(友情提示:你可以在注册过MZD/PXD的
服务器
上运行本程序,
得到
一个注册过的
硬盘
号字符串),再点Apply,再右击任务栏右下角的绿色图标---Hook On就一切OK了,一切设置好之后,可以不用再去运行diskhook.exe了
VB读取
硬盘
物理
序列号
VB编写的读取
硬盘
序列号
的Modules,如果是Class Modules调用(Dll封装ASP),请注意Web Serveice的帐号的权限,Guests读取不到
硬盘
序列号
.
Delphi获取
硬盘
序列号
(支持IDE和SCSI
硬盘
)
完美获取
硬盘
序列号
,支持IDE和SCSI
硬盘
,支持各版本操作系统。
硬盘
序列号
读取1.0
可以读取
硬盘
物理
序列号
,操作非常非常的简单!
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章