Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
4-75060
lak
2002-11-08 22:12
2002.12.23
help plz :)


3-74551
Bakch
2002-12-03 14:30
2002.12.23
Crystal Report


3-74619
_toltec
2002-12-05 13:40
2002.12.23
UDF


1-74791
Michael II
2002-12-11 11:40
2002.12.23
Общие вопросы


1-74709
MaximatorVeter
2002-12-13 18:32
2002.12.23
Как хранить введенные пользователем данные?




   Наверх