我写了一个运行 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中检索域名?

最佳答案

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

关于delphi - 如何在 Windows 7 中获取域名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6412289/

10-12 18:52