如何在Windows上自动切换飞行模式

Fad*_*adi 16 vb6 vbscript automation vba cmd

在我的笔记本电脑上,我可以通过按FN+ 手动切换飞行模式F12,我想从VB6项目或VBA自动执行相同的操作.

我做了很多搜索,只找到了有关启用/禁用无线适配器或Sendkeys用于Windows 8的答案:

Dim WSh As Object
Set WSh = CreateObject("Wscript.Shell")
WSh.Run "C:\WINDOWS\system32\rundll32.exe %SystemRoot%\system32\van.dll,RunVAN", , True
Sleep 200
WSh.SendKeys " "
Sleep 1000
WSh.SendKeys "{ESC}"
Run Code Online (Sandbox Code Playgroud)

但是这段代码不可靠,我认为它不适用于Windows 7或Windows 10.

所以我的问题是:有没有可靠的方法在Windows上自动切换飞行模式.

Vit*_*ata 4

我的键盘上没有功能键,这没有经过测试,只是一个想法 - 你为什么不尝试这样:

Sub SetMode()

    CreateObject("Shell.Application").MinimizeAll        
    Application.SendKeys "{F12}"  'Try a way to refer the function key

End Sub
Run Code Online (Sandbox Code Playgroud)

另一种可能的选择是这样的,具体取决于您的 Windows:

Option Explicit

Public Sub TestMe()

    Application.SendKeys ("^{ESC}")
    Application.Wait Now + TimeValue("00:00:01")
    SendKeys ("{s}")
    SendKeys ("{e}")
    SendKeys ("{t}")
    SendKeys ("{t}")
    SendKeys ("{i}")
    SendKeys ("{n}")
    SendKeys ("{g}")
    SendKeys ("{s}")
    SendKeys "~", False
    Application.Wait Now + TimeValue("00:00:01")
    SendKeys ("{a}")
    SendKeys ("{i}")
    SendKeys ("{r}")
    Application.Wait Now + TimeValue("00:00:01")
    SendKeys "~", False
    Application.Wait Now + TimeValue("00:00:01")
    SendKeys "~", False

End Sub
Run Code Online (Sandbox Code Playgroud)

~符号代表 ENTER,并且ctrl+escape模拟windows键盘上的按键。到达所需位置后,您可以使用选项卡和箭头进行导航。