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

Вниз

Как опреледить имя компьютера   Найти похожие ветки 

 
VladTen   (2002-12-11 09:31) [0]

Подскажите пожалуйста. Как определить имя компьютера, и к какой рабочей группе он принадлежит.


 
Anatoly Podgoretsky ©   (2002-12-11 09:38) [1]

Первое GetComputerName


 
FreeLancer ©   (2002-12-11 09:42) [2]


> Первое GetComputerName

Да, для локальной станции.


 
Den75   (2002-12-11 10:46) [3]

из найденого в и-нете
function CompName: string; //Определение имени компутера
var
dwSize: Cardinal;
szBuffer: PChar;
begin
dwSize := MAX_COMPUTERNAME_LENGTH + 1;
GetMem(szBuffer, dwSize);
try
if GetComputerName(szBuffer, dwSize) then
Result := string(szBuffer)
else
Result := "неизвестно";
finally
FreeMem(szBuffer, dwSize);
end;
end;


 
Игорь Шевченко ©   (2002-12-11 10:54) [4]

К какой рабочей группе:


type
TNetGetJoinInformation =
function (const lpServer : LPWSTR; var lpNameBuffer : LPWSTR;
var JoinStatus : Integer) : Integer; stdcall;
TNetApiBufferFree =
function (lpBuffer : Pointer) : Integer; stdcall;

const
{ NetGetJoinInformation join type codes }
NetSetupUnknownStatus = 0;
NetSetupUnjoined = 1;
NetSetupWorkgroupName = 2;
NetSetupDomainName = 3;
var
_fnNetGetJoinInformation : TNetGetJoinInformation = TNetGetJoinInformation(-1);
_fnNetapiBufferFree : TNetApiBufferFree = TNetApiBufferFree(-1);

function _InternalQueryNetGetJoinInformation (const lpServer : LPWSTR;
var lpNameBuffer : LPWSTR; var JoinStatus : Integer) : Integer;
begin
if Integer(@_fnNetGetJoinInformation) = -1 then
if HSQuerySystemInfo (hsiWin2000OrLater) then
@_fnNetGetJoinInformation := GetProcAddress (LoadLibrary ("netapi32"),
"NetGetJoinInformation")
else
@_fnNetGetJoinInformation := nil;
if Assigned(_fnNetGetJoinInformation) then
Result := _fnNetGetJoinInformation(lpServer, lpNameBuffer, JoinStatus)
else
Result := 127;
end;

function _InternalNetapiBufferFree (Buffer : Pointer) : Integer;
begin
if Integer(@_fnNetapiBufferFree) = -1 then
if HSQuerySystemInfo (hsiWin2000OrLater) then
@_fnNetapiBufferFree := GetProcAddress (GetModuleHandle ("netapi32"),
"NetApiBufferFree")
else
@_fnNetapiBufferFree := nil;
if Assigned(_fnNetapiBufferFree) then
Result := _fnNetapiBufferFree(Buffer)
else
Result := 127;
end;

function _InternalIsComputerJoinedToDomain : Boolean;
var
JoinName : PWideChar;
JoinStatus : Integer;
begin
if HSQuerySystemInfo (hsiWin2000OrLater) then
if NOT _JoinTypeDetermined then begin
if (_InternalQueryNetGetJoinInformation (nil,
JoinName, JoinStatus) = 0) then begin
if Assigned(JoinName) then
_InternalNetapiBufferFree (JoinName);
if JoinStatus = NetSetupDomainName then
_JoinedToDomain := true;
end;
_JoinTypeDetermined := true;
end;
Result := _JoinedToDomain;
end;



 
VladTen   (2002-12-11 12:05) [5]

Сейчас попробуем


 
VladTen   (2002-12-11 12:11) [6]

Всем большое спасибо, вроде все получилось.



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
1-74782
masterdim
2002-12-11 11:17
2002.12.23
обратная матрица


4-75031
Sergadm
2002-11-09 09:04
2002.12.23
получить значение из процесса


14-74977
Anatoly Podgoretsky
2002-12-02 07:36
2002.12.23
Именинники 2 декабря


3-74585
Zn
2002-12-04 09:52
2002.12.23
Не работает SELECT ... INTO TABLE в ADOQuery


4-75029
Frostik
2002-11-05 15:26
2002.12.23
SeDebugPrivilege