如何检测电脑的网卡型号及已安装网卡的数量,并能对指定的网卡实行禁用 如何检测电脑的网卡型号及已安装网卡的数量,并能对指定的网卡实行禁用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关于Win 2K修改MACREGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000] "networkaddress"="444553540000" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\Ndi\params\networkaddress] "default"="444553540000" "paramdesc"="MAC Address" 网卡编号代表网卡型号,不一定是0000,究竟是什么编号,可以这样查找: 运行\winnt\regedit.exe,找到注册表项 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000] 右边栏目有一字符串值"DriverDesc",它的值即是网卡型号,看是不是你的网卡; 再找 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0001] 直到找到你的网卡,记下网卡的编号:一定是000X(X是整数),如0007 然后将上述Win 2K注册表中的"\0000"改为相应的"\0007"(有两处),再进行其它操作. 恢复原始网卡MAC地址: 请删除字符串值"networkaddress"和主键"networkaddress". NT下修改MAC: REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HPHX1\Parameters] "NetworkAddress"="131353540000" 注意:上述注册表文件中HPHX1是具体的网卡型号,各位网友请根据自已的型号修改,修改方法: 在NT的窗口DOS下运行: ipconfig -all 它将显示网卡的型号和MAC(物理)地址等信息,注意看Ethernet adapter 后面的字符串就是网卡型号。 如果要恢复NT下网卡的原始MAC地址,请将字符串主键"networkaddress"的值清空 获得MAC地址unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,nb30;typePASTAT = ^TASTAT; TASTAT = record adapter : TAdapterStatus; name_buf : TNameBuffer; end;type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private function Getmac:string; { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);beginlabel1.caption:=Getmac;end;function TForm1.Getmac:string;var ncb : TNCB; s:string; adapt : TASTAT; lanaEnum : TLanaEnum; i, j, m : integer; strPart, strMac : string;beginFillChar(ncb, SizeOf(TNCB), 0); ncb.ncb_command := Char(NCBEnum); ncb.ncb_buffer := PChar(@lanaEnum); ncb.ncb_length := SizeOf(TLanaEnum); s:=Netbios(@ncb); 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); m:=0; if (Win32Platform = VER_PLATFORM_WIN32_NT) then m:=1; 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)-1); 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)-1); end; end;result:=strmac;end;end. http://expert.csdn.net/Expert/topic/2839/2839946.xml?temp=.1469232 超级猛料出新版了我剛巧在這裹面, 看到了你想要的!!!! delphi多线程和同步执行的问题。 就10分了,有个特别奇怪的问题,谢谢各位。 IntraWeb中如何画 曲线图,及每隔一段时间画一次,最好不要refresh整个窗口 这样的对话框怎么做?(intraweb) 是Bitbtn的属性设置问题吗??在线等待!!! 为什么安装后的Borland目录下的Vbroker\Bin\OsAgent.exe启不来? 向大家请教一个有关算法的问题,望赐教。 又能上CSDN了,又送控件又送分呢 请问网络蚂蚁中的…… StringGrid中内容的打印? 打印优先级问题! 菜鸟问题 高手求救 关于数据刷新问题
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000]
"networkaddress"="444553540000"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\Ndi\params\networkaddress]
"default"="444553540000"
"paramdesc"="MAC Address"
网卡编号代表网卡型号,不一定是0000,究竟是什么编号,可以这样查找:
运行\winnt\regedit.exe,找到注册表项
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000]
右边栏目有一字符串值"DriverDesc",它的值即是网卡型号,看是不是你的网卡;
再找
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0001]
直到找到你的网卡,记下网卡的编号:一定是000X(X是整数),如0007
然后将上述Win 2K注册表中的"\0000"改为相应的"\0007"(有两处),再进行其它操作.
恢复原始网卡MAC地址: 请删除字符串值"networkaddress"和主键"networkaddress".
NT下修改MAC:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HPHX1\Parameters]
"NetworkAddress"="131353540000"
注意:上述注册表文件中HPHX1是具体的网卡型号,各位网友请根据自已的型号修改,修改方法:
在NT的窗口DOS下运行:
ipconfig -all
它将显示网卡的型号和MAC(物理)地址等信息,注意看Ethernet adapter 后面的字符串就是网卡型号。
如果要恢复NT下网卡的原始MAC地址,请将字符串主键"networkaddress"的值清空
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,nb30;
type
PASTAT = ^TASTAT;
TASTAT = record
adapter : TAdapterStatus;
name_buf : TNameBuffer;
end;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
function Getmac:string;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption:=Getmac;
end;function TForm1.Getmac:string;
var
ncb : TNCB;
s:string;
adapt : TASTAT;
lanaEnum : TLanaEnum;
i, j, m : integer;
strPart, strMac : string;
begin
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Char(NCBEnum);
ncb.ncb_buffer := PChar(@lanaEnum);
ncb.ncb_length := SizeOf(TLanaEnum);
s:=Netbios(@ncb);
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);
m:=0;
if (Win32Platform = VER_PLATFORM_WIN32_NT) then
m:=1;
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)-1);
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)-1);
end;
end;
result:=strmac;
end;
end.
我剛巧在這裹面, 看到了你想要的!!!!