标题: 给论坛添点动力!!来个小项目!!硬盘序列号
[打印本页]
作者: tongli
时间: 2009-11-30 21:15
标题: 给论坛添点动力!!来个小项目!!硬盘序列号
希望坛子里的高人,动动手也算是帮在下一个忙了,编一个DOS下的小程序!
要求:纯DOS下读取硬盘序列号(SN序列号包括串口大硬盘),什么语言都可以,要EXE 和源码或驱动,最好是像MHDD那样不通过BIOS直接读取!~
本人愿出100RMB,做为鼓励(不带赖地,这点可放心),多少意思意思吧!!
知道高人很多,就先到先得。。要是每人都做一份,我还真给不起呢,呵呵
有时间,有这个能力的人请先与我电话联系(我给回电)!! 谢谢!!
联系电话:15046565050 佟力
信箱:
tongli.net@126.com(发程序请附上您农行或工行帐户)成功秒付!!
怎么没人回复呢,是DOS下实现不了,还是什么原因?
[
Last edited by tongli on 2009-12-6 at 10:55 ]
作者: winson4829
时间: 2010-1-2 23:36
免費~~~~~~~~~~~~
// 傳入磁碟機代號 A / B / C - Z
// turbo C / Borland C 寫法
long GetDiskSerial(char driver)
{
union REGS regs;
struct SREGS sregs;
struct DISK
{
unsigned code;
long serial;
char volume[11];
char type[8];
} SERIAL;
regs.h.ah =0x69;
regs.h.al =0x00;
regs.h.bl =toupper(driver)-'A'+1;
regs.x.dx =FP_OFF(&SERIAL);
sregs.ds =FP_SEG(&SERIAL);
intdosx(®s,®s,&sregs);
if(regs.x.cflag==0) return(SERIAL.serial); else return(0);
}
// 傳入磁碟機代號 A / B / C - Z
// WINDOWS 下 MINGW32 寫法
DWORD GetDiskSerial(char driver)
{
char lpRootPathName[256];
char lpVolumeNameBuffer[256];
DWORD nVolumeNameSize=256;
DWORD lpVolumeSerialNumber;
DWORD lpMaximumComponentLength;
DWORD lpFileSystemFlags;
char lpFileSystemNameBuffer[256];
DWORD nFileSystemNameSize=256;
sprintf(lpRootPathName, "%c:\\", driver);
GetVolumeInformation(
lpRootPathName,
lpVolumeNameBuffer,
nVolumeNameSize,
&lpVolumeSerialNumber,
&lpMaximumComponentLength,
&lpFileSystemFlags,
lpFileSystemNameBuffer,
nFileSystemNameSize );
return(lpVolumeSerialNumber);
}
// 傳入磁碟機代號 A / B / C - Z
// DOS 下 DJGPP 寫法
DWORD GetDiskSerial(char driver)
{
__dpmi_regs regs;
char Buffer[30];
char *ts, *ss;
unsigned Serial;
if(driver<'A' || driver>'Z') return(0);
regs.h.ah =0x69;
regs.h.al =0x00;
regs.h.bl =driver-'A'+1;
regs.x.ds =__tb >> 4;
regs.x.dx =__tb & 0x0f;
__dpmi_int (0x21, ®s);
if(regs.x.flags & 1) return(0);
dosmemget (__tb, 30, &Buffer);
ts = &Buffer[2];
ss = (char *)&Serial;
*ss++ = *ts++;
*ss++ = *ts++;
*ss++ = *ts++;
*ss++ = *ts++;
return(Serial);
}
作者: ecurb2006
时间: 2010-1-4 15:33
楼上贴代码很不错!
作者: 19951001
时间: 2010-1-4 17:57
Quote: |
Originally posted by winson4829 at 2010-1-2 23:36:
免費~~~~~~~~~~~~
// 傳入磁碟機代號 A / B / C - Z
// turbo C / Borland C 寫法
long GetDiskSerial(char driver)
{
union REGS regs;
struct SREGS sregs;
struct DISK
... |
|
我想楼主要的硬盘的序列号,好像应该是下边这个吧
附件
1: 未命名x.GIF (2010-1-4 17:57, 16.8 K, 下载附件所需积分 1点
)
作者: woaicaomei
时间: 2010-10-5 22:48
对啊。。号呢。。。 我也需要这个啊。主板序列号 硬盘序列号啥的 只要是硬件号就行,可惜就是找不到