gpt4 book ai didi

c# - 注册表 - NetworkList 配置文件 - 无法通过程序访问

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:56 27 4
gpt4 key购买 nike

连接到新网络时,Windows 会询问它是家庭网络、工作网络还是公共(public)网络。

我使用 VPN 服务,在每次连接时,Windows 都会显示类似 .问题是,数字总是大一,我不知道为什么。

我想我会检查注册表中发生了什么,然后发现

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

所有这些都与其他 key 一起存储在哪个 key 下。然后我决定编写一个程序来检查它们并在再次连接之前将其删除,所以它总是没有号码,防止注册表变得臃肿。很简单,我在 C# 中制作了一个 5 行控制台程序,让它请求管理员权限,以管理员权限运行 Visual Studio,这样我就可以访问注册表。代码是:

RegistryKey key = Registry.LocalMachine;
key = key.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles");
foreach (string subkey in key.GetSubKeyNames())
Console.WriteLine(subkey);

那只是为了首先列出子项,但即使那样也不起作用,因为某些未知原因,没有找到任何子项,但也没有错误消息。

我也在 Python 中查找了如何做到这一点,我大约两天前才第一次读到它。

from _winreg import *
key = OpenKey(HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles', 0, KEY_ALL_ACCESS)
for i in range(1024):
print EnumKey(key, i)

该代码最终也没有打印任何键,在到达末尾时给出 Expected WindowsError。

我当然可以看到名称为 {numbersAndLettersSeparatedByDashes} 的子键,顺便问一下,它们叫什么? GUID?或者那些是别的东西?我不明白的是,我向某人发送了 C# 和 Python 代码,他们也在他的 Windows 7 x64 上工作,但 C# 仅在它是 Windows 窗体解决方案时才工作。不是在控制台时。在另一台 PC 上测试了 Python,操作系统相同,但结果与我的相同。为什么?有没有办法解决这个问题?对我来说似乎很奇怪,我很乐意完成这项工作。花了好几个小时却一事无成。没有错误,但仍然失败。

我不知道像这样发布两种语言和 Windows 是否可以,但我不知道还有什么地方可以就此寻求帮助。也对长度感到抱歉,但我认为这是必要的。提前致谢。

最佳答案

您可以使用管理员权限读取NetworkList键,只需将KEY_ALL_ACCESS更改为KEY_READ

关于c# - 注册表 - NetworkList 配置文件 - 无法通过程序访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269345/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com