Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
ВнизКак опреледить имя компьютера Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c