📄 unitmask.pas
字号:
unit UnitMask;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,registry,
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
reg:TRegistry;
re:boolean;
device:string;
buf:pchar;
mask:string;
adapter:string;
begin
reg:=TRegistry.Create();
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
//open key
//win NT
//get bind device
re:=Reg.OpenKey('SYSTEM\CurrentControlSet\Services\Tcpip\Linkage',
false);
if re then
begin
getmem(buf,1024);
Reg.ReadBinaryData('Bind',buf^,1024);
device := strpas(buf);
freemem(buf);
end
else
begin
edit1.text:='Failed to get bind device';
reg.closekey();
reg.Free;
exit;
end;
reg.CloseKey;
//get adapter
adapter:=copy(device,2,length(device)-1);
showmessage(adapter);
adapter:=copy(adapter,POS('\',adapter)+1,length(adapter)-POS('\',adapter));
showmessage(adapter);
//query
re:=Reg.OpenKey('SYSTEM\CurrentControlSet\Services\'+
adapter+
'\Parameters\Tcpip',
false);
if re then
begin
getmem(buf,1024);
Reg.ReadBinaryData('SubnetMask',buf^,1024);
mask := strpas(buf);
freemem(buf);
end
else
mask:='Failed to get subnet mask';
finally
Reg.CloseKey;
Reg.Free;
end;
edit1.text:=device;
edit2.text:=mask;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -