Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
4-1093780326
Endi
2004-08-29 15:52
2004.10.10
Task Scheduler


14-1095594345
DelphiStarter_Irbis1001
2004-09-19 15:45
2004.10.10
TSplitter


10-1044343249
JibSkeart
2003-02-04 10:20
2004.10.10
приммеры COM DCOM на Bulder C++


4-1093881744
Vladimyr
2004-08-30 20:02
2004.10.10
Состояние лотка CD-ROM


9-1085024752
Hater
2004-05-20 07:45
2004.10.10
Сохранение игры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский