能回答我的问题的朋友,我将重分酬谢!!!

supermanzd 2003-07-18 10:54:47
两个问题:
1:一台PC 上拥有 GUID 号的设备有哪些,我应该用什么方法去读取???
2:网卡上的mac 地址应该用什么方法读取???
...全文
21 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdsimon 2003-07-21
  • 打赏
  • 举报
回复
好像这是防止盗版的做法。
我们公司买的ERP就是这样做的。
wdsimon 2003-07-21
  • 打赏
  • 举报
回复
好像这是防止盗版的做法

我们买的ERP系统目前就是这种做法。
cxz7531 2003-07-21
  • 打赏
  • 举报
回复
to 楼上的
suny_2001(小鱼儿)已经给出了正确的方法。
不过要想更简单的话,在命令提示符下键入:Ipconfig/all也可得到
supermanzd 2003-07-21
  • 打赏
  • 举报
回复
如果我想读取网卡中的GUID号,请问应该如何读取呢?
fhuibo 2003-07-20
  • 打赏
  • 举报
回复
up
ghostmirror 2003-07-19
  • 打赏
  • 举报
回复
1:一台PC 上拥有 GUID 号的设备有哪些,我应该用什么方法去读取???
设备有那些不好说,因为你自己都可以写一个程序用到guid,如果读取的话,你可以在
注册表里面读取。
czp 2003-07-18
  • 打赏
  • 举报
回复
Up!
劣势 2003-07-18
  • 打赏
  • 举报
回复
up
suny_2001 2003-07-18
  • 打赏
  • 举报
回复
NB30的是一个通信单元。
Mac地址是全球唯一的。
supermanzd 2003-07-18
  • 打赏
  • 举报
回复
顺便问一句,Mac地址是全球唯一的吗?
supermanzd 2003-07-18
  • 打赏
  • 举报
回复
suny_2001(小鱼儿) :你的程序很棒,谢谢你回答了我的第二个问题,不过我想问一下 NB30 是什么?不介意的话,能不能介绍一下这段程序呢?
suny_2001 2003-07-18
  • 打赏
  • 举报
回复
读取网卡上的mac 地址应该

unit MacAdress;

interface


uses SysUtils,NB30, Classes, Controls, StdCtrls,windows;

function Getmac:string;

implementation

type
PASTAT = ^TASTAT;
TASTAT = record
adapter : TAdapterStatus;
name_buf : TNameBuffer;
end;





function Getmac:string;
var
ncb : TNCB;
s:string;
adapt : TASTAT;
lanaEnum : TLanaEnum;
i, j, m : integer;
strPart, strMac : string;
begin
result:='';
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Char(NCBEnum);
ncb.ncb_buffer := PChar(@lanaEnum);
ncb.ncb_length := SizeOf(TLanaEnum);
s:=Netbios(@ncb);
m:=1;
if (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then
m:=0;
for i := 0 to integer(lanaEnum.length)-1 do
begin
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Char(NCBReset);
ncb.ncb_lana_num := lanaEnum.lana[i];
Netbios(@ncb);
Netbios(@ncb);
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Chr(NCBAstat);
ncb.ncb_lana_num := lanaEnum.lana[i];
ncb.ncb_callname := '* ';
ncb.ncb_buffer := PChar(@adapt);
ncb.ncb_length := SizeOf(TASTAT);

if m=1 then
begin
if Netbios(@ncb) = Chr(0) then
strMac := '';
for j := 0 to 5 do
begin
strPart := IntToHex(integer(adapt.adapter.adapter_address[j]), 2);
strMac := strMac + strPart ;
end;
SetLength(strMac, Length(strMac));
end;
if m=0 then
if Netbios(@ncb) <> Chr(0) then
begin
strMac := '';
for j := 0 to 5 do
begin
strPart := IntToHex(integer(adapt.adapter.adapter_address[j]), 2);
strMac := strMac + strPart ;
end;
SetLength(strMac, Length(strMac));
end;
end;
result:=trim(strmac);
end;
supermanzd 2003-07-18
  • 打赏
  • 举报
回复
flyingkiller(大飞虫) :那可不行,因为硬件设备的GUID 号在我的项目中有很重要的地位
flyingkiller 2003-07-18
  • 打赏
  • 举报
回复
建议自己用一个函数直接生成一个就完了。

function GetGUID:string;

var

id:tguid;

begin

if CoCreateGuid(id)=s_ok then

result:=guidtostring(id);

end;

pankun 2003-07-18
  • 打赏
  • 举报
回复
up
大大怪老张 2003-07-18
  • 打赏
  • 举报
回复
学习来的
yckxzjj 2003-07-18
  • 打赏
  • 举报
回复
关注此贴内容!
adragon007 2003-07-18
  • 打赏
  • 举报
回复
关注

1,183

社区成员

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

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