Главная страница
    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.039 c
14-1095779829
}|{yk
2004-09-21 19:17
2004.10.10
Ура! Справедливое решение УЕФА


1-1096200942
Гость
2004-09-26 16:15
2004.10.10
TstatusBar. Изменение цвета.


3-1095089123
Johnny Raw
2004-09-13 19:25
2004.10.10
проблема с table.locate или с головой


14-1095131033
Kair()
2004-09-14 07:03
2004.10.10


3-1094895135
Новенький
2004-09-11 13:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский