Delphi获取CPU序列号\网卡MAC地址\IP\硬盘序列号(测试能用马上500分)

水向东流时光怎么偷 2012-02-27 03:32:14
条件:
1.源码不要D7的,得是2010以上版本的!
2.在XP,win7下面可用!测试正确后,马上送分!








以下是CSDN广告:
...全文
1911 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
h_sanjin 2014-06-17
  • 打赏
  • 举报
回复
我也需要这个,测试下看看,也用的2010环境
cate 2012-10-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
谢谢6楼与8楼
自己已经解决了
得出结果为:

Delphi(Pascal) code

1.CPU :0001067A-00020800-0400E39D-BFEBFBFF
2.MAC :70-5A-B6-62-C3-6F
3.IP :192.168.1.117
4.硬盘 :6VC1X4LZ
[/Quote]

硬盘读取这一部分最后是如何修改的?请教一下。
我也需要这个,多谢了。
yygtpynn 2012-03-07
  • 打赏
  • 举报
回复
经测试,提取SCSI硬盘无效。
我看见佛 2012-03-04
  • 打赏
  • 举报
回复
LZ是看他长得帅些
erhan 2012-03-03
  • 打赏
  • 举报
回复
[Quote=引用 41 楼 avan_lau 的回复:]
给分方式,严重失衡!!! 至少erhan给出一个方案并持续关注你的问题。
[/Quote]

好不好用,楼主说了算;
分给多少,楼主说了算;
回答与否,自己说了算......

这是个态度问题
金卯刀 2012-03-03
  • 打赏
  • 举报
回复
给分方式,严重失衡!!! 至少erhan给出一个方案并持续关注你的问题。
erhan 2012-02-29
  • 打赏
  • 举报
回复
看来批处理的处理能力还是不行啊,原来的代码目的就是把无用信息过滤掉。

我还是试了4台机器的,不过都是xp,没想到你一试就不行。

你那wmic nicconfig get ipaddress,MACAddress 结果是么子?贴上来我看下,顺便说下系统版本。
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 erhan 的回复:]
引用 20 楼 abclm 的回复:
引用 17 楼 erhan 的回复:
另类的办法,昨天研究了一下老掉牙的批处理语法,利用xp和win7都带的wmic.exe,这东东很强大,首次运行wmic慢点(自动安装),以后就快了

新建个.bat文件,加入以下内容

Delphi(Pascal) code


@echo off&setlocal ENABLED……
[/Quote]

看到了,但结果有点乱,得处理一下
Bo_Sys 2012-02-29
  • 打赏
  • 举报
回复
//------ 取CPU序列号 uses WinSock
function F_GetCPUID: string;
procedure SetCPU(Handle: THandle; CPUNO: Integer);
var
ProcessAffinity: Cardinal;
_SystemAffinity: Cardinal;
begin
GetProcessAffinityMask(handle, ProcessAffinity, _SystemAffinity);
ProcessAffinity := CPUNO;
SetProcessAffinityMask(handle, ProcessAffinity);
end;

const
CPUINFO = '%.8x-%.8x-%.8x-%.8x';
var
iEax: Integer;
iEbx: Integer;
iEcx: Integer;
iEdx: Integer;
begin
SetCPU(GetCurrentProcess, 1);
asm
push ebx
push ecx
push edx
mov eax, 1
DW $A20F//cpuid
mov iEax, eax
mov iEbx, ebx
mov iEcx, ecx
mov iEdx, edx
pop edx
pop ecx
pop ebx
end;
Result := Format(CPUINFO, [iEax, iEbx, iEcx, iEdx]);
end;
//获取网卡
function MacAddress: string;
var
Lib: Cardinal;
Func : function(GUID: PGUID): Longint; stdcall;
GUID1, GUID2: TGUID;
begin
Result := '';
Lib := LoadLibrary('rpcrt4.dll');
if Lib <> 0 then
begin
if Win32Platform <>VER_PLATFORM_WIN32_NT then
@Func := GetProcAddress(Lib, 'UuidCreate')
else @Func := GetProcAddress(Lib, 'UuidCreateSequential');
if Assigned(Func) then
begin
if (Func(@GUID1) = 0) and
(Func(@GUID2) = 0) and
(GUID1.D4[2] = GUID2.D4[2]) and
(GUID1.D4[3] = GUID2.D4[3]) and
(GUID1.D4[4] = GUID2.D4[4]) and
(GUID1.D4[5] = GUID2.D4[5]) and
(GUID1.D4[6] = GUID2.D4[6]) and
(GUID1.D4[7] = GUID2.D4[7]) then
begin
Result :=
IntToHex(GUID1.D4[2], 2) + '-' +
IntToHex(GUID1.D4[3], 2) + '-' +
IntToHex(GUID1.D4[4], 2) + '-' +
IntToHex(GUID1.D4[5], 2) + '-' +
IntToHex(GUID1.D4[6], 2) + '-' +
IntToHex(GUID1.D4[7], 2);
end;
end;
FreeLibrary(Lib);
end;
end;
  • 打赏
  • 举报
回复


不纠结了,我先用其它办法,先用着...

谢谢各位!
山东蓝鸟贵薪 2012-02-29
  • 打赏
  • 举报
回复

不会吧,怎么会这样呀
erhan 2012-02-29
  • 打赏
  • 举报
回复
不好意思,刚才笔误了,应该是“它”或者“牠”
erhan 2012-02-29
  • 打赏
  • 举报
回复
疯狗咬的是贴子,咬不到人,让他咬得更猛烈些吧
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 liyuxin88 的回复:]
引用 31 楼 erhan 的回复:

晕了,咋是0啊,看来X系统对wmi的支持不太好尼


操你妈 你个B托 到处瞎回复
[/Quote]
滚犊子,没事在这里瞎叫什么啊,回家睡去吧.
erhan 别给32楼一样的见识!
erhan 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 liyuxin88 的回复:]
引用 31 楼 erhan 的回复:

晕了,咋是0啊,看来X系统对wmi的支持不太好尼


操你妈 你个B托 到处瞎回复
[/Quote]

疯狗
erhan 2012-02-29
  • 打赏
  • 举报
回复
晕了,咋是0啊,看来X系统对wmi的支持不太好尼
  • 打赏
  • 举报
回复


结果
erhan 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 abclm 的回复:]
引用 25 楼 erhan 的回复:
看来批处理的处理能力还是不行啊,原来的代码目的就是把无用信息过滤掉。

我还是试了4台机器的,不过都是xp,没想到你一试就不行。

你那wmic nicconfig get ipaddress,MACAddress 结果是么子?贴上来我看下,顺便说下系统版本。


在其它电脑测试出来结果正常,系统Xp
我这台电脑是GHOST的X系统,有影响吗……
[/Quote]

应该没影响吧,按理说,这个通用性应该挺强的。

我那段bat代码只是分析了3条命令的返回结果,NIC部分是把ip和mac都有的行(有些NIC是没ip的)提取出来,去掉ip地址两头的{""},然后显示出来而已,我很想知道你的机器dos下wmic nicconfig get ipaddress,MACAddress 命令执行的结果,看看是不是还有改的可能
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 yygtpynn 的回复:]
楼主测试在RAID环境下可以提取出硬盘序列号吗?以前试过好多在RAID环境下都提取不出来。
[/Quote]

这个没有测试,我现在没有这样的环境!
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 erhan 的回复:]
看来批处理的处理能力还是不行啊,原来的代码目的就是把无用信息过滤掉。

我还是试了4台机器的,不过都是xp,没想到你一试就不行。

你那wmic nicconfig get ipaddress,MACAddress 结果是么子?贴上来我看下,顺便说下系统版本。
[/Quote]

在其它电脑测试出来结果正常,系统Xp
我这台电脑是GHOST的X系统,有影响吗?
加载更多回复(22)
本课程属于课堂的【挑战年薪30W+之软件测试零基础入门到全栈高薪】中的节选章节。重点针对软件测试中的测试模型及测试方法做了实战性的理论概述。适合学员从实战性的理论中获取测试思维上的提升。 主讲老师为资深高级技术专家。毕业于电子科技大学。先后工作于多家知名外企,知名通信民企,知名IT公司。◇ 具备区块链领域高级测试解决方案设计、专家级测试开发、团队管理培训经验。◇ 具备专家级自动化测试解决方案、自动化测试平台框架设计开发、自动化测试团队管理培训经验。◇ 具备专家级的功能专项测试、性能专项测试经验及丰富的渗透测试经验。◇ 具备丰富的持续集成/持续交付(CI/CD)开发、实施及运维经验。◇ 具备丰富的C#/Java/Delphi/VB/C++/Python/Tcl/Groovy/Shell等开发及脚本开发经验◇ 具备20年的IT互联网工作经验。先后担任过项目经理,测试技术经理,测试总监以及专家级技术顾问等职务。独立开发完成有如下自动化测试框架及平台◇ GUI自动化测试框架(TSL)◇ ATF自动化测试框架(Tcl/Tk)◇ ATP自动化测试平台(C#/Java)◇ SoapUI接口自动化测试框架(Groovy/华为)◇ 持续集成自动化打包/发包框架(Java/华为)◇ 区块链性能测试框架(Python)等。擅长框架/平台设计开发、团队管理、团队技能提升培训,技术瓶颈突破等。 欢迎各位学员访问学习工作室的系列课程:1、布式集群自动化测试高阶框架基础实战https://edu.csdn.net/course/detail/308482、SoapUI接口自动化测试实战进阶https://edu.csdn.net/course/detail/29902 

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧