type
WKSTA_INFO_100 = record
wki100_platform_id: Integer;
wki100_computername: PWideChar;
wki100_langroup: PWideChar;
wki100_ver_major: Integer;
wki100_ver_minor: Integer;
end;
//WinNT UNICODE equivalents from NETAPI32.DLL
TWinNT_NetWkstaGetInfo = function(ServerName: PWideChar; level: Integer; var
BufPtr: Pointer): Integer;
stdcall;
TWinNT_NetApiBufferFree = function(BufPtr: Pointer): Integer;
stdcall;
var
Form1: TForm1;
implementation
{$R *.dfm}
function GetDomainName: AnsiString;
var
WinNT_NetWkstaGetInfo: TWinNT_NetWkstaGetInfo;
WinNT_NetApiBufferFree: TWinNT_NetApiBufferFree;
WSNT: ^WKSTA_INFO_100;
EC: DWORD;
hNETAPI: THandle;
begin
try
Result := '';
//Загружаем Длл'ку
hNETAPI := LoadLibrary('NETAPI32.DLL');
//получаем адрес указанных айпишек
WinNT_NetWkstaGetInfo := GetProcAddress(hNETAPI, 'NetWkstaGetInfo');
WinNT_NetApiBufferFree := GetProcAddress(hNETAPI, 'NetApiBufferFree');
//вызываем функцию для получения инфы в структуру WSNT типа WKSTA_INFO_100
EC := WinNT_NetWkstaGetInfo(nil, 100, Pointer(WSNT));
//проверяем на наличие ошибки
if EC = 0 then
begin
//получаем имя РАБОЧЕЙ ГРУППЫ
Result := WideCharToString(WSNT^.wki100_langroup);
//освобождаем структуру
WinNT_NetApiBufferFree(Pointer(WSNT));
end;
finally
if hNETAPI <> 0 then
//освобождаем Длл'ку
FreeLibrary(hNETAPI);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//Результат на экран!
ShowMessage(GetDomainName);
end;
Вопрос по API
invoke GetCurrentDirectory,40,ADDR Catalog
invoke GetFileSizeEx, Sustem(что здесь указать путь к файлу это понятно),В книге пишется что тут указывают на структуру LARGE_INTEGER для сохранения размера файла так где или как получить размер. Про структуру ничего непонятно там всего в 5 словах.
invoke WriteFile,Путь к файлу, Переменная для записи тоже понятно,?,?,?
И как скопировать в буфер например не 1 строчку а 10.
Какой Api или Macro можно слаживать данные в буфере Catalog и Bufer
C Macro вообще толком нечего непонятно
Такая же проблема и с ReadFile
Invoke GetCursorPos,Позиция курсора, сюда переменная нужна или ???.
Invoke EnableMenuItem,дескриптор меню де его взять ,IDB_EXIT,MF_DISABLE
А адрес точный дать можешь?Чтобы сразу на страницу загрузки,где выбор качаемых компонентов,а не такой типа download.microsoft.com?
программа установки в онлайн режиме скачаешь и запустишь и выберишь что надо установить. Полная версия весит 400мб
Вот
Заранее всем спасибо.
SetBkColor для того контекста устройства, в которое выводишь текст.
Глава из Петзолд об этом также пишет.
Мне нужно определить имя моей сетевой рабочей группы. Я пробывал использовать апи-функцию:
function WNetEnumResource(hEnum: THandle; var lpcCount: DWORD; lpBuffer: Pointer; var lpBufferSize: DWORD): DWORD; stdcall;
Но она перечисляет все сетевые ресурсы(домены) в локалке, а это лишне, мне нужно только мою. Как быть? Помогите!
А быть гораздо проще. Вот вариант решения такой проблемы (для тех кто с подобным столкнется):