[英]Changing Mobile Broadband Device Properties via WMI or Registry?
是否可以通过WMI或通过注册表更改移动宽带设备设置?
我试图创建一个将在Windows 10上运行的最终界面(最终在Windows 7、8和XP Embedded上运行),以仅更改一些设置,即“自动连接”和“允许漫游”。
在Internet上和SO进行了一些研究之后: C#阅读Windows Mobile Broadband连接属性我想我可以通过WMI或注册表编辑来做到这一点,但我只是没有看到它。 Win32_NetworkAdapter类似乎没有提供执行此操作的正确工具。
我尝试使用ProcMon来查看注册表编辑,但是我很难确定它。
在Windows 7上,我发现最好的方法是创建一个使用适当参数调用netsh.exe的进程。 我不确定Windows 10上会有什么不同。
这是一个控制台应用程序,可检索一些数据。
/// <summary>
/// The process instance used to execute netsh.
/// </summary>
private static readonly Process NetshProcess = new Process
{
StartInfo =
{
FileName = "netsh.exe",
RedirectStandardOutput = true,
UseShellExecute = false
}
};
/// <summary>
/// The main program.
/// </summary>
/// <returns>
/// Nonzero if error.
/// </returns>
public static int Main()
{
// The first step is to get the subscriber ID.
NetshProcess.StartInfo.Arguments = "mbn show ready *";
var netshResultStrings = RunNetShProcess();
var subIdStr = netshResultStrings.ElementAtOrDefault(5);
var iccIdStr = netshResultStrings.ElementAtOrDefault(6);
string lastValue;
if (subIdStr == null || (lastValue = subIdStr.Trim(' ').Split(':').LastOrDefault()) == null)
{
throw new Exception("Could not determine Subscriber ID.");
}
var subscriberIdStr = lastValue.Trim(' ');
Console.WriteLine("The subscriber ID is " + subscriberIdStr);
}
/// <summary>
/// Run the netsh process. StartInfo.Arguments for NetshProcess must be properly set prior to making this call.
/// </summary>
/// <returns>
/// An string array containing one element for each line of text returned by netsh.
/// </returns>
private static string[] RunNetShProcess()
{
NetshProcess.Start();
var netshResult = NetshProcess.StandardOutput.ReadToEnd();
if (!NetshProcess.WaitForExit(10000))
{
throw new Exception("Netsh command '" + NetshProcess.StartInfo.Arguments + "' did not exit.");
}
var netshResultStrings = netshResult.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
return netshResultStrings;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.