C# 如何在Windows中打开/关闭无线收音机?
我正在寻找一个API,可以在Windows中以编程方式打开和关闭无线电台,就像以下Windows 10 UI元素所做的那样: 需要打开/关闭Wi-Fi、蓝牙或移动宽带 适用于Windows 7、8和10 这不是电话 C/.NET4.5是理想的,但是C++/Win32也可以C# 如何在Windows中打开/关闭无线收音机?,c#,c++,.net,winapi,wdk,C#,C++,.net,Winapi,Wdk,我正在寻找一个API,可以在Windows中以编程方式打开和关闭无线电台,就像以下Windows 10 UI元素所做的那样: 需要打开/关闭Wi-Fi、蓝牙或移动宽带 适用于Windows 7、8和10 这不是电话 C/.NET4.5是理想的,但是C++/Win32也可以 嗯,我知道你可以用 netsh interface set interface name=通过cmd行的本地连接 因此,也许在c中可以执行一个进程。Startnetsh,set name=\Local Area Connect
嗯,我知道你可以用 netsh interface set interface name=通过cmd行的本地连接 因此,也许在c中可以执行一个进程。Startnetsh,set name=\Local Area Connection\;更改wifi设置。我相信你可以下载一个蓝牙命令行工具,并做类似的事情
我可以稍后在我的windows机器上进行测试,但现在不行,希望这能有所帮助 我知道你可以用 netsh interface set interface name=通过cmd行的本地连接 因此,也许在c中可以执行一个进程。Startnetsh,set name=\Local Area Connection\;更改wifi设置。我相信你可以下载一个蓝牙命令行工具,并做类似的事情
我可以稍后在我的windows机器上进行测试,但现在不行,希望这能有所帮助 一般来说,您需要做的是枚举网络适配器,过滤掉无线、蓝牙和移动宽带,并切换它们的状态 难怪会有3张接近票数的选票,因为有很多相关的问题和答案: 演示C+WMI 演示C++ +WiAPI设备安装API
其中一个应该是一个公平的起点,可以把你需要的东西放在一起。所以一般来说,你需要做的是列举网络适配器,过滤掉无线、蓝牙和移动宽带,并切换它们的状态 难怪会有3张接近票数的选票,因为有很多相关的问题和答案: 演示C+WMI 演示C++ +WiAPI设备安装API
其中一个应该是一个合理的起点,可以将您需要的东西组合在一起。对于Windows 10,您可以使用Radio Manager API来控制不同的无线电状态。你可以找到C和C++的全部。 首先,您需要访问所有系统无线电。这必须在UI线程中调用:
var accessLevel = await Radio.RequestAccessAsync();
然后,您可以找到系统上的所有收音机。该示例介绍了访问收音机的其他方法:
var radios = await Radio.GetRadiosAsync();
给定一个无线电对象,然后可以通过以下方式更改状态:
Radio radio = SOME_RADIO;
radio.StateChanged = Radio_StateChangedCallback; // Called when the radio state completes the change
radio.SetStateAsync(RadioState.On); // Or RadioState.Off
对于Windows 10,您可以使用Radio Manager API控制不同的无线电状态。你可以找到C和C++的全部。 首先,您需要访问所有系统无线电。这必须在UI线程中调用:
var accessLevel = await Radio.RequestAccessAsync();
然后,您可以找到系统上的所有收音机。该示例介绍了访问收音机的其他方法:
var radios = await Radio.GetRadiosAsync();
给定一个无线电对象,然后可以通过以下方式更改状态:
Radio radio = SOME_RADIO;
radio.StateChanged = Radio_StateChangedCallback; // Called when the radio state completes the change
radio.SetStateAsync(RadioState.On); // Or RadioState.Off
非常感谢,但是我需要一个API,而不是命令行应用程序。也许这些NUGET会有用,然后非常感谢,但是我需要一个API,而不是命令行应用程序。也许这些NUGET会有用。然后我没有问如何禁用网络设备,我问了如何切换无线电设备。当您在Windows UI(参见屏幕截图)中切换开关时,设备不会从Windows(即从设备管理器)中删除,该开关只会打开/关闭收音机。您提到的所有示例都是禁用设备。@WilliamLeara我可能错了,但既然您提到了Windows 7,它是否能区分启用/禁用设备和打开和关闭收音机?禁用设备并不会将其删除,其操作与从“控制面板”的关联菜单中禁用设备的操作相同。Windows 8和更高版本当然提供了打开/关闭收音机的API,但是如果您需要Windows 7兼容性,那么我不确定是否有比禁用该设备更好的方法。我没有问如何禁用网络设备,我问的是如何切换收音机,这有很大的区别。当您在Windows UI(参见屏幕截图)中切换开关时,设备不会从Windows(即从设备管理器)中删除,该开关只会打开/关闭收音机。您提到的所有示例都是禁用设备。@WilliamLeara我可能错了,但既然您提到了Windows 7,它是否能区分启用/禁用设备和打开和关闭收音机?禁用设备并不会将其删除,其操作与从“控制面板”的关联菜单中禁用设备的操作相同。Windows 8和更高版本当然提供了打开/关闭收音机的API,但是如果您需要Windows 7兼容性,那么我不确定是否有比禁用设备更好的方法。非常感谢!不幸的是,我也必须支持Win8,而您的示例是一个仅支持Win10的通用应用程序。如果我理解正确的话:是的,我很确定这只适用于Windows10。但这可能对8.1有所帮助!我希望至少能帮你一点忙:谢谢
很多不幸的是,我也必须支持Win8,而您的示例是一个仅支持Win10的通用应用程序。如果我理解正确的话:是的,我很确定这只适用于Windows10。但这可能对8.1有所帮助!我希望至少能帮你一点忙: