I know that I can open the "Network Connections" control panel location by executing "ncpa.cpl", but that is not good enough for my application. I want to actually open the list of available networks (the equivalent of clicking on the "Wireless Network Connection" option on the "Network Connections" page.
I have searched high and low for a solution, and I have found nothing. The only reason I even need to do this is because windows doesn't update the available networks in a timely fashion unless you open the "Wireless Network Connection" list. I can sit here and use "netsh wlan show networks" all day and it will not detect new networks until I simply click on the "Wireless Network Connection". I don't even have to hit the refresh button - I only bring up the native list.
I have had mixed results by disconnecting (netsh wlan disconnect) and waiting for several minutes, but this is unacceptable.
I'm trying to incorporate a handy feature in a VB.NET tool that will filter the available WiFi networks and allow the user to connect to one by selecting it in a listview and pressing a "connect" button. I have the code working just fine, but I am limited by this insanely slow refresh rate. If I simply click on the internet access applet in the tray my list will refresh, but it kind of defeats the point. I have already done a fair bit of work to get around netsh's limitation of needing a profile to connect to a network, so this is a frustrating development.
If I can simply run the applet, even in the background, it would solve this problem. If that's not possible, is there a service that I can refresh/restart without admin privileges that would cause windows to get an updated list? It's kind of ridiculous that netsh does not actually update the list...
Edit:
And in case I am asking an XY problem, I just want to be able to get an accurate and current list of available WiFi networks from within a .NET application. I'd also like to be able to connect to said network from within .NET, although my netsh "solution" does the job just fine as long as I can get an SSID. If you could also explain to me why .NET/Java/etc higher-level languages can't provide a platform-agnostic abstraction of the network interface I would give you bonus points. I am aware of the native API solution, but that seems to me like complete overkill for my application (and is beyond my skillset/time capabilities right now). If there is a good tutorial/document about including small native code modules in a .NET solution I am all ears, though.
Thanks in advance