<div>Hi Jacek:</div><div>I found that the real reason is urlmon!get_protocol_cf return MK_E_SYNTAX(0x800401e4<span style="line-height: 1.5;">) </span><span style="line-height: 1.5;">when it open this registry key </span><span style="line-height: 1.5;">“HKEY_CLASSES_ROOT\PROTOCOLS\Handler\</span><span style="line-height: 1.5;">app” failed.</span></div><div>Do you think the right way is implement a new 'app:' protocol handle like "<span style="line-height: 1.5;">HKEY_CLASSES_ROOT\PROTOCOLS\Handler\</span><span style="line-height: 1.5;">http"?</span></div><div><br></div><div>Thank you!</div><div><sign signid="0"><div style="color:#909090;font-family:Arial Narrow;font-size:12px"><br><br><br><br>------------------</div><div style="font-size:14px;font-family:Verdana;color:#000;"><div>Regards,</div><div>Changhui.</div>
</div></sign></div><div> </div><div><includetail><div> </div><div> </div><div style="font:Verdana normal 14px;color:#000;"><div style="FONT-SIZE: 12px;FONT-FAMILY: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="FONT-SIZE: 12px;background:#efefef;padding:8px;"><div id="menu_sender"><b>From: </b> "Jacek Caban"<jacek@codeweavers.com>;</div><div><b>Date: </b> Thu, Jan 15, 2015 05:55 PM</div><div><b>To: </b> "wine-devel"<wine-devel@winehq.org>; <wbr></div><div></div><div><b>Subject: </b> Re: ieframe:add app: protocol support to make mshtml triggerBeforeNavigate2 event when handle app: hyperlink</div></div><div> </div>
<div class="moz-cite-prefix">Hi Changhui,<br>
<br>
On 01/15/15 02:39, Changhui Liu wrote:<br>
</div>
<blockquote cite="mid:tencent_361F1D250B0D4A5D74CF8031@qq.com" type="cite">
<div>Hi, this verify test need the user click the app: hyperlink
in browser, </div>
<div>so it is hard to write a test in dlls/ieframe/tests.</div>
<div><br>
</div>
<div>I upload the test html file and a test exe here:</div>
<div><a class="moz-txt-link-freetext" href="http://www.imakevideo.com/app.html">http://www.imakevideo.com/app.html</a></div>
<div><a class="moz-txt-link-freetext" href="http://www.imakevideo.com/mfc_web.zip">http://www.imakevideo.com/mfc_web.zip</a></div>
<div><br>
</div>
<div>To run the test, extract mfc_web.zip, then run the
mfc_web.exe, <span style="line-height: 1.5;">click the Go
button;</span></div>
<div>A message "BeforeNavigate2 <a class="moz-txt-link-freetext">app:xxx</a>" will popup when click the
app: <span style="line-height: 1.5;">hyperlink</span><span style="line-height: 1.5;"> </span></div>
<div><span style="line-height: 1.5;">if the BeforeNavigate2 event
was triggered as like IE in windows, or nothing.</span></div>
</blockquote>
<br>
It doesn't seem right. There is nothing special about app: protocol
handling, BeforeNavigate2 should be called in this case the same way
as for any other protocol. You need to find the real reason why it's
not called instead of calling it in an error case. The bug is likely
to be in mshtml.<br>
<br>
Jacek<br>
</div><!--<![endif]--></includetail></div>