Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.02.17;
Скачать: [xml.tar.bz2];

Вниз

Группа в XP   Найти похожие ветки 

 
akim2   (2003-12-15 17:32) [0]

Добрый всем!

Подскажите пож, как можно прочитать Workgroup в кот я сейчас работаю? В 2000 нашел а в XP не могу. Может кто знает?


 
Игорь Шевченко   (2003-12-15 22:08) [1]

unit main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TfMain = class(TForm)
Label1: TLabel;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
end;

var
fMain: TfMain;

implementation
uses
HSNetApi;

{$R *.dfm}

procedure TfMain.FormCreate(Sender: TObject);
var
S : PWideChar;
rc : DWORD;
begin
rc := NetpGetDomainName(@S);
if rc = NOERROR then begin
Edit1.Text := WideCharToString(S);
NetApiBufferFree(S);
end else
Edit1.Text := Format("Error %d", [rc]);
end;

end.


unit HSNetApi;

interface
uses
Windows;

function NetApiBufferFree (lpBuffer : Pointer) : Integer; stdcall;
function NetpGetDomainName (lpBuffer : Pointer) : Integer; stdcall;
function NetpGetComputerName (lpBuffer : Pointer) : Integer; stdcall;

implementation
uses
SysUtils;

{ NETAPI32.DLL functions }
type
TNetApiBufferFree =
function (lpBuffer : Pointer) : Integer; stdcall;
TNetpGetDomainName =
function (lpBuffer : Pointer) : Integer; stdcall;
TNetpGetComputerName =
function (lpBuffer : Pointer) : Integer; stdcall;

const
netapidllname = "netapi32.dll";

var
NetApiDllHandle: THandle;
_NetApiBufferFree : TNetApiBufferFree;
_NetpGetDomainName : TNetpGetDomainName;
_NetpGetComputerName : TNetpGetComputerName;

function InitNetApi : Boolean;
begin
if NetApiDllHandle = 0 then
if Win32Platform = VER_PLATFORM_WIN32_NT then begin
NetApiDllHandle := LoadLibrary(NetApidllname);
if NetApiDllHandle <> 0 then begin
@_NetApiBufferFree := GetProcAddress(NetApiDllHandle,
"NetApiBufferFree");
@_NetpGetDomainName := GetProcAddress(NetApiDllHandle,
"NetpGetDomainName");
@_NetpGetComputerName := GetProcAddress(NetApiDllHandle,
"NetpGetComputerName");
end;
end;
Result := (NetApiDllHandle <> 0);
end;

function NetApiNotImplemented : Integer;
begin
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
Result := ERROR_PROC_NOT_FOUND;
end;

function NetApiBufferFree (lpBuffer : Pointer) : Integer; stdcall;
begin
if InitNetApi and Assigned(_NetApiBufferFree) then
Result := _NetApiBufferFree(lpBuffer)
else
Result := NetApiNotImplemented;
end;

function NetpGetDomainName (lpBuffer : Pointer) : Integer; stdcall;
begin
if InitNetApi and Assigned(_NetpGetDomainName) then
Result := _NetpGetDomainName(lpBuffer)
else
Result := NetApiNotImplemented;
end;

function NetpGetComputerName (lpBuffer : Pointer) : Integer; stdcall;
begin
if InitNetApi and Assigned(_NetpGetComputerName) then
Result := _NetpGetComputerName(lpBuffer)
else
Result := NetApiNotImplemented;
end;

initialization
finalization
if NetApiDllHandle <> 0 then
FreeLibrary(NetApiDllHandle);
end.



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

Форум: "WinAPI";
Текущий архив: 2004.02.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
1-53589
mao
2004-02-08 13:32
2004.02.17
RichEdit


1-53638
bespasian
2004-02-06 17:18
2004.02.17
Выделить строку другим цветом в DBGrid.


8-53651
Pinocchio
2003-10-16 08:39
2004.02.17
Поделитесь исходниками простого граф редактора


14-53726
SPeller
2004-01-29 10:36
2004.02.17
Microsoft предлагает лекарство от спама


1-53523
Вопрошающий
2004-02-05 16:13
2004.02.17
Чтение свойств компонентов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский