就是要找出工作组名称

解决方案 »

  1.   

    用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
      

  2.   

    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;刚刚写的,得到本机的工作组,如果想得到其他机子的工作组,需要有打印机或者操作的权限
    不过我刚才试了试,只有本地机成功,可能还有些问题吧