5

I would like to automate connecting PC to phone's internet connection via Bluetooth using the AutoHotKey script which will perform the following actions:

Bluetooth internet connecting UI sequence

Once the Devices and Printers window is open, I should be safely able to finish most of actions by sending keystrokes.

Now the question:

In Windows 7, Devices and Printers can be open via command line

control bthprops.cpl

but in Windows 8 the same command opens Modern UI screen PC Settings > Devices instead of the above window. Is there a way to open the above window programatically either via command line or via DLL call?

miroxlav
  • 11,796
  • 5
  • 58
  • 99
  • Thanks for the first interesting question in a while. What happens if you call `rundll32.exe Shell32.dll,Control_RunDLL bthprops.cpl,,1`? You can also set `2,3,...` instead of `1`, or even completely omit `,,1`. – MCL Feb 07 '14 at 14:20

1 Answers1

8

OK, after some further research, I have found working command:

control printers

It opens window Devices and Printers, containing not only Bluetooth devices, but all known devices. So content of the window is superset of content requested in the question, but the only difference is that filtering of Bluetooth devices is not applied this time. Typing name of the device moves selection focus to its item and nothing stands in way of running command from context menu of the device. The complete script for sample device MyPhone1 therefore is:

Run, control printers
WinWaitActive, Devices and Printers
Sleep, 500
Send MyPhone1{AppsKey}ca

And the AutoHotKey rules again. :)

Edit: Upon MCL's comment, ugly waiting loop was replaced by sleek WinWaitActive. Thanks!


EDIT:

from command line:

  • devices and printers:

    explorer shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}
    
  • bluetooth devices:

    explorer shell:::{28803F59-3A75-4058-995F-4EE5503B023C}
    
  • other locations:

    ▶ list at eightforums.com

miroxlav
  • 11,796
  • 5
  • 58
  • 99
  • Great that it works for you; navigating through an explorer window is naturally always an option. Btw, you don't need an ugly custom built waiting routine, just use `WinWaitActive, Devices and Printers ahk_class CabinetWClass`. – MCL Feb 07 '14 at 21:45
  • @MCL Thank you, your suggestion and name are now part of the answer. – miroxlav Feb 07 '14 at 22:06