如何在Windows 7中获取域名

Joh*_*ica 4 delphi dns dll delphi-2007 windows-7

我写了一个运行Excel加载项的dll(几年前).

我使用此代码检索域名,并在Windows XP中正常工作,但在Windows 7中失败.
只有我以管理员身份运行才能正常工作.
但是,我不想以管理员身份运行,因为此代码是Excel加载项DLL的一部分,如果以管理员身份运行,Excel无法找到用户的文件.

MyReg:= TRegistry.Create;

MyReg.RootKey:= HKEY_LOCAL_MACHINE;
MyReg.OpenKey(RegKeyWin7,false);
NetworkID2:= lowercase(trim(MyReg.ReadString(RegValWin7)));
MyReg.CloseKey;

FreeAndNil(MyReg);

FNetworkOK:= (NetworkID2 = OKRes4);
//Temp check to pinpoint the problem.
if FNetWorkOK = false then ShowMessage('Error wrong domain: '+NetworkID2)
else ShowMessage('all ok');
Run Code Online (Sandbox Code Playgroud)

如何在正常权限下使用Delphi检索Windows 7中的域名?

Ste*_*end 7

在Win32 API中使用NetWkstaGetInfo,通过level值= 100 请求信息.

返回有关工作站环境的信息,包括特定于平台的信息,域名和本地计算机以及有关操作系统的信息.bufptr参数指向WKSTA_INFO_100结构.