用dos下面的命令行 NBTSTAT -A IP NBTSTAT -a computernameWinexec(pchar('cmd.exe /c NBTSTAT -A 192.168.0.210'),sw_show); //2k Winexec(pchar('command.com /c NBTSTAT -A 192.168.0.210'),sw_show); //98
type WKSTA_INFO_100 = record wki100_platform_id: Integer; wki100_computername: PWideChar; wki100_langroup: PWideChar; wki100_ver_major: Integer; wki100_ver_minor: Integer; end; function NetWkstaGetInfo(servername: LPWSTR; level: DWORD;var bufptr: Pointer): DWORD; stdcall; external 'netapi32.dll'; procedure TForm1.Button1Click(Sender: TObject); var WSNT: ^WKSTA_INFO_100; groupname: String; Errcode : integer; begin Errcode := NetWkstaGetInfo(nil,100,Pointer(WSNT)); if Errcode <> 0 then Showmessage('Call function failed') else begin groupname := WideCharToString(WSNT^.wki100_langroup); showmessage(groupname); end; end;刚刚写的,得到本机的工作组,如果想得到其他机子的工作组,需要有打印机或者操作的权限 不过我刚才试了试,只有本地机成功,可能还有些问题吧
NBTSTAT -A IP
NBTSTAT -a computernameWinexec(pchar('cmd.exe /c NBTSTAT -A 192.168.0.210'),sw_show); //2k
Winexec(pchar('command.com /c NBTSTAT -A 192.168.0.210'),sw_show); //98
WKSTA_INFO_100 = record
wki100_platform_id: Integer;
wki100_computername: PWideChar;
wki100_langroup: PWideChar;
wki100_ver_major: Integer;
wki100_ver_minor: Integer;
end; function NetWkstaGetInfo(servername: LPWSTR; level: DWORD;var bufptr: Pointer): DWORD; stdcall; external 'netapi32.dll';
procedure TForm1.Button1Click(Sender: TObject);
var
WSNT: ^WKSTA_INFO_100;
groupname: String;
Errcode : integer;
begin
Errcode := NetWkstaGetInfo(nil,100,Pointer(WSNT));
if Errcode <> 0 then
Showmessage('Call function failed')
else begin
groupname := WideCharToString(WSNT^.wki100_langroup);
showmessage(groupname);
end;
end;刚刚写的,得到本机的工作组,如果想得到其他机子的工作组,需要有打印机或者操作的权限
不过我刚才试了试,只有本地机成功,可能还有些问题吧