我正在使用下面的代码,这些代码是我为阅读这里的其他问题而拼凑起来的:
ConnectionOptions oConn = new ConnectionOptions();
System.Management.ManagementScope scope = new System.Management.ManagementScope(@"\\" + "compname" + @"\root\cimv2", oConn);
scope.Connect();
MessageBox.Show("");
ManagementClass registry = new ManagementClass(scope, new ManagementPath("StdRegProv"), null);
ManagementBaseObject inParams = registry.GetMethodParameters("GetStringValue");
inParams["hDefKey"] = 0x80000002;// HKEY_LOCAL_MACHINE;
inParams["sSubKeyName"] = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI";
inParams["sValueName"] = "LastLoggedOnDisplayName";
ManagementBaseObject outParams = registry.InvokeMethod("GetStringValue", inParams, null);
if (outParams.Properties["sValue"].Value != null)
{
MessageBox.Show(outParams.Properties["sValue"].Value.ToString());
}
但是,每次outparams.properties[“svalue”].value
返回null,即使我看到字符串值实际上在注册表编辑器中。
如果我使用以下代码循环遍历子键:
string[] subkeys = (string[])mc.InvokeMethod("EnumValues", mbo, null).Properties["sNames"].Value;
foreach (string strKey in subkeys)
{
MessageBox.Show(strKey);
}
无论类型如何,它只向我显示一个子键,并且将EnumValues
切换到GetStringValue
会导致路径找不到错误`
有些不确定的事情正在发生,也许另一双眼睛能帮我看清楚?最后,我只是尝试在软件\Microsoft\Windows\CurrentVersion\Authentication\LogonUI
中获取LastLoggedOnDisplayName
字符串值
欢迎任何反馈
默认情况下,您的应用程序是32位,因此将重定向到64位操作系统上的32位注册表位置:
SOFTWARE\WOW6432Node\Microsoft\...
若要强制读取64位值,请将作用域构建为64位,或将作用域配置为:
System.Management.ManagementScope scope = new System.Management.ManagementScope(@"\\" + "compname" + @"\root\cimv2", oConn);
scope.Options.Context.Add("__ProviderArchitecture", 64);
scope.Options.Context.Add("__RequiredArchitecture", true);
scope.Connect();
(我假设您使用此代码访问远程注册中心,如果不是这样,可以更简单地完成:https://docs.microsoft.com/en-us/dotnet/api/microsoft.win32.registry.getValue)
本文向大家介绍如何在C#中使用注册表,包括了如何在C#中使用注册表的使用技巧和注意事项,需要的朋友参考一下 一、什么是注册表 注册表是Microsoft Windows操作系统和其应用程序中的一个重要的层次型数据库,用于存储系统和应用程序的设置信息。由键(key,或称“项”)、子键(subkey,子项)和值项(value)构成。一个键就是树状数据结构中的一个节点,而子键就是这个节点
我有两门课。在一节课上,我创建并发起了一个活动,如下所示: 客户添加类 MyWindow类 现在,当我从类调用方法时,(当我订阅方法到事件时),不会被调用。调试器显示为空。我搜索了几个小时,没有找到解决办法。我跟随了这个链接,但仍然为空。如有任何指导/帮助,将不胜感激。
对于< code>ValueData(或类似的属性),是否有函数的返回值。已尝试以下方法: 但这只是将字符串< code > get computer name string()添加到注册表项中。
我正在使用指标注册表将指标记录到jmx中。我使用以下代码 它第一次运行良好。如果我再次尝试这样做,我得到的错误是一个名为****的度量已经存在。但我想记录发送给控制器的每个请求的相同度量值,以便在Grafana中可视化。 是否有任何方法可以记录每个请求的相同度量名称的值? 还有如何每1分钟检查记录的所有数据点。我们应该对每分钟的值求和吗?我在metrics.xml中有以下内容
我试图通过使用基于索引的行位置简单地获得df的子集。但是,出于某些原因,以下代码有时返回空数据帧: dist数据帧(帧是索引): 输出: 我一辈子都不明白为什么会发生这种事。
本文向大家介绍C++写注册表项实例,包括了C++写注册表项实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C++写注册表实现开机启动的方法。分享给大家供大家参考。 具体实现方法如下: 希望本文所述对大家的C++程序设计有所帮助。