Dobry den.
Pořád zápasím s přejmenováním „Pracovní skupiny“ ve Windows XP pod Delphi 5
Ručně se ve vlastnostech, na záložce "Název počítače" provede změna a vše funguje. Když však chci použít Delphi narážím neustále na nějaký proglém.
Funkce, která vrací Pracovní skupiny je NetWkstaGetInfo. Obdobně fce, ktará má toto umět nastavit je NetWkstaSetInfo. Vždy však dostanu návratový kód 124 (nenašel jsem co to je) a nic se nestane.
Můj kód
type
WKSTA_INFO_100 = Record
wki100_platform_id : DWORD;
wki100_computername : LPWSTR;
wki100_langroup : LPWSTR;
wki100_ver_major : DWORD;
wki100_ver_minor : DWORD;
end;
LPWKSTA_INFO_100 = ^WKSTA_INFO_100;
Function NetWkstaGetInfo
(ServerName : LPWSTR;
Level : DWORD;
BufPtr : Pointer) : Longint; Stdcall;
external 'netapi32.dll' Name 'NetWkstaGetInfo';
Function NetWkstaSetInfo
(ServerName : LPWSTR;
Level : DWORD;
BufPtr : Pointer;
ParmErr : Pointer) : Longint; Stdcall;
external 'netapi32.dll' Name 'NetWkstaSetInfo';
procedure SetNetParam(langroup : string);
Var
wDomainName : WideString;
PBuf : LPWKSTA_INFO_100;
Res : LongInt;
Err : DWord;
begin
NetWkstaGetInfo (Nil, 100, @PBuf); // načtu stávající hodnoty - funguje
wDomainName := langroup;
PBuf^.wki100_langroup:=PWideChar (wDomainName);//upravím LanGroup-funguje
Res := NetWkstaSetInfo (Nil, 100, @PBuf, @Err);//pokusím se nastavit na PC
if Res <> NERR_Success then ShowMessage(IntToStr(Res)+' '+IntToStr(Err)); end;
Existuje nějaká jiná funkce pro změnu pracovní skupiny?
Předem moc děkuji
Nováček