在 C# 中获取键盘过滤器 WMI 参数
get keyboardfilter WMI parameters in c#
在 Windows IoT 上(但在正常的 Windows 10 上),您可以启用键盘过滤器和 shell 启动器。
我启用了 UWF、KB-Filter 和 Shell Launcher。
现在,我无法使用简单的 C#.NET 程序获取键盘过滤器的参数。
ManagementScope scope = new ManagementScope(@"root\standardcimv2\embedded");
using (ManagementClass mc = new ManagementClass(scope.Path.Path, "WEKF_Settings", null))
{
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
}
}
UWF_Filter
正在运行。 WEKF_Settings and WESL_UserSetting 不工作,即使在 OS.
上启用了它们
我总是遇到异常 提供程序加载失败,即使应用程序是以管理员身份启动的。
在 powershell 中,我得到 class 没有任何问题:
Get-CimClass wekf_settings \.\root\standardcimv2\embedded | select -expand cimclassqualifiers
所以问题是:为什么我不能在 C# 中获取实例(使用 GetInstances()
)而只能使用 powershell?
正如信息(如果你得到同样的错误):
如果是 32 位,则查询在 Powershell 上也会失败。
您需要将程序编译为64位。然后代码就可以查询键盘过滤器了。
这就是解决方案。
在 Windows IoT 上(但在正常的 Windows 10 上),您可以启用键盘过滤器和 shell 启动器。 我启用了 UWF、KB-Filter 和 Shell Launcher。
现在,我无法使用简单的 C#.NET 程序获取键盘过滤器的参数。
ManagementScope scope = new ManagementScope(@"root\standardcimv2\embedded");
using (ManagementClass mc = new ManagementClass(scope.Path.Path, "WEKF_Settings", null))
{
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
}
}
UWF_Filter
正在运行。 WEKF_Settings and WESL_UserSetting 不工作,即使在 OS.
我总是遇到异常 提供程序加载失败,即使应用程序是以管理员身份启动的。
在 powershell 中,我得到 class 没有任何问题:
Get-CimClass wekf_settings \.\root\standardcimv2\embedded | select -expand cimclassqualifiers
所以问题是:为什么我不能在 C# 中获取实例(使用 GetInstances()
)而只能使用 powershell?
正如信息(如果你得到同样的错误):
如果是 32 位,则查询在 Powershell 上也会失败。
您需要将程序编译为64位。然后代码就可以查询键盘过滤器了。
这就是解决方案。