1. If you wanted the user to select between Spanish and English (see 3 for why you don't want this) and aren't making the program available to a mostly Spanish userbase you should have let English be the default option.
2. If you actually needed to know which language your user is using (again see 3 for why you don't actually want this) you could have retrieved it from the registry or used the simple
wxLocale since you're using wxWidgets.
3. Since the only reason you want to know the language of the OS is to get the path of Program Files you can just use the PROGRAMFILES environment variable.
4. Instead of trying to start Internet Explorer via cmd by looking for it in a specific folder (which will most likely fail) for opening URLs you can just launch the URL and windows will open it in your default browser. Try typing in
http://google.com in Start->Run to see the effect first hand.
5. While using preset paths instead of the PROGRAMFILES variable and not launching URLs directly was a bad idea, why did you even use paths like "c:\Progra~1\intern~1\iexplore.exe"?
6. Your program fails to launch anything on my computer since it won't find anything in "c:\Progra~1\intern~1\iexplore.exe" etc, but from what I can tell from the code it seems to try to download
http://mjdls.weebly.com/uploads/6/0/3/4/6034752/key.key and then do something. What does it do after downloading this file and what is the program even used for?
7. If this is actually version 4.1, where are the other versions and what did they lack that this has?
8. Cool UI bro.
EDIT: 9. How is this actually 5,7mb? What compiler are you using and which unnecessary libraries are you linking against?