MSのShellExcecuteについての解説を読むと(このリンクの一番下の節)、
http://support.microsoft.com/?scid=kb;en-us;224816&x=10&y=12
「まずDDE起動を試し、応答がなかったらコマンドラインを起動」すると書いてあります。
ChromeとIEはDDE設定が同じ(アプリケーション名:IExplorer/トピック名:WWW_OpenURL)なので、この設定でDDE起動が試みられたら標準のChromeではなくIEが新しいタブか新しいウィンドウでURLを開き始めるはずです。
そのようにならないのはなぜでしょう?
コメント(4件)
単にウィンドウクラス ネームだけで判別してるように思うけど、
根拠無いのでコメントで・・・。
なにしろ、Chromeの起動するより前の段階でIEが起動するはずなのにという話ですから。
Chrome はDDEを利用しない(論拠が無いので仮定としておいてください。)
↓
DDEとして登録されているものとしてアプリケーションにIExplorerが選ばれているだけ。
(誤解と思われる点2)
http://msdn.microsoft.com/ja-jp/library/cc422072.aspx
>>引用ここから
利用可能な場合、open(開く)操作が既定で適用されます。
利用不可能な場合、ファイルなどに応じた既定の操作が適用されます。
<<引用ここまで
DDEうんぬんはこの先にある話。
関連付けでChromeが指定されていて、利用可能な状態であればChromeが起動するのは当然。
ということだと思うのだけど?
IEというDDEサーバがすでに立ち上がっているのですが、なぜDDEサーバが利用不可能と判断されているのでしょう?