I am using ShellExecute(NULL,"open","control.exe","ncpa.cpl","c:\\windows\\system32\\",SW_NORMAL); to open the Network Connections window. That is working on my system which has Windows XP on it. But when I make a build for the machine on which this program has to run it doesn't work. It has Windows Embedded on it. I guess it's because there is no control.exe in Windows Embedded.

So I tried running ShellExecute(NULL,"open","Rundll32.exe","ncpa.cpl","c:\\windows\\system32\\",SW_NORMAL); but that is not working. It returns 42 so its success, but still nothing happens. I tried various other options like using "ncpa.cpl,," and using "Rundll32.exe Shell32.dll" instead of "Rundll32.exe" but that doesn't work either. How can I use ShellExecute so that it will work on both on my machine as well as on Windows Embedded. Even if there is a solution which will only work on Windows Embedded that is fine since I will just #define it.

Would it be sufficient to code in explorer.exe opening Network Connections window via its CLSID?
/n as an explorer parameter would open a new instance of it...