Форум: "WinAPI";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
ВнизКак узнать принадлежит-ли компьютер к какому-либо домену? Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c