如何在 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');
如何在正常权限下使用 Delphi 在 Windows 7 中检索域名?
I've written a dll that runs an Excel add-in (some years ago).
I use this code to retrieve the domain name and that works fine in Windows XP, but it fails in Windows 7.
Only if I run as administrator does it work.
However I don't want to run as administrator because this code is part of an Excel add-in dll and Excel cannot find the user's files if running as admin.
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');
How do I retrieve the domain name in Windows 7 using Delphi under normal privileges?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Win32 API 中使用 NetWkstaGetInfo,通过
level
值 = 100 请求信息。Use NetWkstaGetInfo in the Win32 API, requesting info via
level
value = 100.