一个简单取得本机IP,电脑名称,MAC地址的方法
1
unit Unit1;
2
3
interface
4
5
uses
6
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7
Dialogs, StdCtrls,WinSock, Sockets;
8
9
type
10
TForm1 = class(TForm)
11
Button1: TButton;
12
procedure Button1Click(Sender: TObject);
13
private
14
{ Private declarations }
15
public
16
{ Public declarations }
17
end;
18
19
var
20
Form1: TForm1;
21
Function sendarp(ipaddr:ulong;temp:dword;ulmacaddr:pointer;ulmacaddrleng:pointer):DWord;StdCall;External \’Iphlpapi.dll\’ Name \’SendARP\’;
22
implementation
23
24
{$R *.dfm}
25
26
procedure TForm1.Button1Click(Sender: TObject);
27
var
28
mymac:array[0..5] of byte;
29
mymaclength:ulong;
30
tmp:TInAddr;
31
sip:string;
32
tp:ttcpclient;
33
begin
34
sip:=\’172.20.104.111\’;
35
mymaclength:=length(mymac);
36
if sendarp(inet_addr(pChar(sip)),0,@mymac,@mymaclength)=0 then
37
begin
38
tmp.S_addr:=inet_addr(pChar(sip));
39
ShowMessage(format(\’%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x\’,[mymac[0],mymac[1],mymac[2],mymac[3],mymac[4],mymac[5]]));
40
end;
41
tp:=ttcpclient.create(self);
42
tp.close;
43
tp.open;
44
ShowMessage(tp.LocalHostName);
45
ShowMessage(tp.LocalHostAddr);
46
tp.close;
47
end;
48
49
end.
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
版权声明:本文为zhaoyong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。