各位,请问如何获取网卡的MAC地址。最好给段代码。
解决方案 »
- 不同网段,C/S系统,如何设计
- 请教高手,如何实现MSN主界面左上角的"隐藏/显示窗口框架"功能???
- 如何锁定鼠标?(100分相赠,立刻结帐)
- 关于delphi中浏览器界面的问题[100分]
- 在设置TABIE控件的TABLENAME属性是总是弹出要求输入USERNAME和PASSWORD的对话框,这是为什么?
- 图层信息的纪录!
- delphi7 没有 microsoft OLE DB Provider for SQL Server
- 能否从colordialog继承,并更改部分内容?up有分!
- 很棘手的问题,请各位高手帮我!!!! 送分
- 老問題, 如何求 DBGrid 中數值列的和? 急﹗
- 诚觅delphi兼职开发高手
- 请问各位,动态链接库嵌套时应该注意什么?
簡介:
function TForm1.NBGetAdapterAddress(a: integer): String;
//a指定多個網卡適配器中的哪一個0,1,2...
Var
NCB:TNCB; // Netbios control block file://NetBios控制塊
ADAPTER : TADAPTERSTATUS; // Netbios adapter status//取網卡狀態
LANAENUM : TLANAENUM; // Netbios lana
intIdx : Integer; // Temporary work value//臨時變數
cRC : Char; // Netbios return code//NetBios返回值
strTemp : String; // Temporary string//臨時變數Begin
// Initialize
Result := '';
Try
// Zero control blocl
ZeroMemory(@NCB, SizeOf(NCB));
// Issue enum command
NCB.ncb_command:=Chr(NCBENUM);
cRC := NetBios(@NCB);
// Reissue enum command
NCB.ncb_buffer := @LANAENUM;
NCB.ncb_length := SizeOf(LANAENUM);
cRC := NetBios(@NCB);
If Ord(cRC)0 Then
exit;
// Reset adapter
ZeroMemory(@NCB, SizeOf(NCB));
NCB.ncb_command := Chr(NCBRESET);
NCB.ncb_lana_num := LANAENUM.lana[a];
cRC := NetBios(@NCB);
If Ord(cRC)0 Then
exit;
// Get adapter address
ZeroMemory(@NCB, SizeOf(NCB));
NCB.ncb_command := Chr(NCBASTAT);
NCB.ncb_lana_num := LANAENUM.lana[a];
StrPCopy(NCB.ncb_callname, '*');
NCB.ncb_buffer := @ADAPTER;
NCB.ncb_length := SizeOf(ADAPTER);
cRC := NetBios(@NCB);
// Convert it to string
strTemp := '';
For intIdx := 0 To 5 Do
strTemp := strTemp + InttoHex(Integer(ADAPTER.adapter_address[intIdx]),2);
Result := strTemp;
Finally
End;最後別忘了uses nb30.pas
經測試,98,2000下皆可用
發表人 - ddy 於 2002/11/23 23:57:24