Windows 8 RTM (Chrome、Firefox) で既定以外のブラウザーを設定し、次のようなコードを実行してみてください。
ShellExecute(NULL, "open", "http://stackoverflow.com", NULL, NULL, SW_SHOWNORMAL);
大丈夫です。ただし、マニフェストを変更して、管理者特権を要求するか、単に「管理者として実行」します。
コードが機能しません。
それでは、「管理者として実行」を使用して任意のアプリケーションを実行してみてください。
同じ結果が表示されますが、リンクは機能していません。
デフォルトのブラウザを IE に戻します -> すべて正常に動作します。
Windows 8 の以前のビルドでは、そのような動作はありません。
何が起こっている?
PS。Microsoft も自社のソフトウェアで同じ問題を経験したようです :) Windows 8 RTM での Visual Studio 2012 Web パブリッシュがブラウザの起動に失敗する