Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Windows中打开/关闭无线收音机?_C#_C++_.net_Winapi_Wdk - Fatal编程技术网

C# 如何在Windows中打开/关闭无线收音机?

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

我正在寻找一个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 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有所帮助!我希望至少能帮你一点忙: