我写了一个运行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');
如何在正常权限下使用Delphi检索Windows 7中的域名?
答案 0 :(得分:7)
在Win32 API中使用NetWkstaGetInfo,通过level
值= 100请求信息。
返回有关的信息 工作站环境,包括 平台特定的信息, 域名和本地名称 计算机和有关的信息 操作系统。 bufptr 参数指向WKSTA_INFO_100 结构