Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Как узнать принадлежит-ли компьютер к какому-либо домену?   Найти похожие ветки 

 
needle   (2004-09-10 09:36) [0]

ась? важен сам факт принадлежности к домену, для определения возможности изменения некоторых настроек, в частности logontype в xp.


 
UNIVERSAL   (2004-09-10 09:47) [1]

Не это случаем GetComputerNameEx?


 
Игорь Шевченко ©   (2004-09-10 09:59) [2]

NetGetJoinInformation ?


 
needle   (2004-09-10 10:12) [3]

-> Игорь Шевченко
фенкс со мач. Именно то что нужно.
NET_API_STATUS NetGetJoinInformation(
 LPCWSTR lpServer,
 LPWSTR *lpNameBuffer,
 PNETSETUP_JOIN_STATUS BufferType
);
typedef enum _NETSETUP_JOIN_STATUS {

   NetSetupUnknownStatus = 0,
   NetSetupUnjoined,
   NetSetupWorkgroupName,
   NetSetupDomainName

} NETSETUP_JOIN_STATUS, *PNETSETUP_JOIN_STATUS;


 
Игорь Шевченко ©   (2004-09-10 11:07) [4]

needle   (10.09.04 10:12) [3]

И не забыть при успешном вызове сделать NetApiBufferFree :)


 
needle   (2004-09-10 11:30) [5]

если кому интересно - сваял модуль:

unit uNetApi;

interface
uses
 Windows,Classes;
 
function IsJoinedToDomain:Boolean;

implementation
type
NETSETUP_JOIN_STATUS=(NetSetupUnknownStatus,NetSetupUnjoined,NetSetupWorkgroupName,NetSetupDomainName);
const
netapi32 = "netapi32.dll";
var
 NetAPI32Lib: THandle;
 NetGetJoinInformation: function(lpServer:PWideChar;var lpNameBuffer:PWideChar;var BufferType:NETSETUP_JOIN_STATUS):Integer;stdcall;
 NetApiBufferFree: function(Buffer:PWideChar):Integer;stdcall;

function LoadNetApi32Dll:Boolean;
begin
 Result:=false;
 try
   NetAPI32Lib := LoadLibrary(netapi32);
   if NetAPI32Lib > 0 then
   begin
     NetGetJoinInformation := GetProcAddress(NetAPI32Lib,"NetGetJoinInformation");
     NetApiBufferFree := GetProcAddress(NetAPI32Lib,"NetApiBufferFree");
     Result:=true;
   end;
 except
 end;
end;

procedure UnLoadNetApi32Dll;
begin
 if NetAPI32Lib>0 then
   FreeLibrary(NetAPI32Lib);
end;

function IsJoinedToDomain:Boolean;
var
buf:PWideChar;
buftype:NETSETUP_JOIN_STATUS;
begin
 Result:=false;
 if not LoadNetApi32Dll then
   exit;
 NetGetJoinInformation(nil,buf,buftype);
 if buftype=NetSetupDomainName then
   Result:=true;
 NetApiBufferFree(buf);
 UnLoadNetApi32Dll;
end;

end.


 
Игорь Шевченко ©   (2004-09-10 11:40) [6]

Могу еще порекомендовать поглядеть в

http://www.schevchenko.net.ru/SRC/EnumFunctions_60.zip

модуль hswinutils.pas



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
3-1094721688
Loaders
2004-09-09 13:21
2004.10.10
DBGrid+DataSet


1-1096089458
Влад
2004-09-25 09:17
2004.10.10
Синхронизация массивов


14-1095503081
Ломброзо
2004-09-18 14:24
2004.10.10
Взял и умер!


4-1094644439
Apolo
2004-09-08 15:53
2004.10.10
Пару вопросов по потокам


14-1095917397
pavel_guzhanov
2004-09-23 09:29
2004.10.10
Ассемблер