Главная страница
    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.45 MB
Время: 0.032 c
1-1095861749
DelphiLexx
2004-09-22 18:02
2004.10.10
Общедоступные паременные


14-1095931679
Petr V. Abramov
2004-09-23 13:27
2004.10.10
Кафе "Бульварное" снова открылось


1-1096252600
Никита
2004-09-27 06:36
2004.10.10
Работа со строками


3-1095321996
Domkrat
2004-09-16 12:06
2004.10.10
Create database


1-1096088618
Kair()
2004-09-25 09:03
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский