<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.artinsoft.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Mauricio Rojas Blog : vb6migration, WebBrowser</title><link>http://blogs.artinsoft.net/mrojas/archive/tags/vb6migration/WebBrowser/default.aspx</link><description>Tags: vb6migration, WebBrowser</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>IE Explorer and Favorites folder or Special Folders in general</title><link>http://blogs.artinsoft.net/mrojas/archive/2009/09/29/ie-explorer-and-favorites-folder-or-special-folders-in-general.aspx</link><pubDate>Tue, 29 Sep 2009 16:05:48 GMT</pubDate><guid isPermaLink="false">871fd81c-a111-489f-851d-e9637b8e2ce4:1986</guid><dc:creator>Mrojas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.artinsoft.net/mrojas/rsscomments.aspx?PostID=1986</wfw:commentRss><comments>http://blogs.artinsoft.net/mrojas/archive/2009/09/29/ie-explorer-and-favorites-folder-or-special-folders-in-general.aspx#comments</comments><description>&lt;p&gt;I found this email in my inbox today:&lt;/p&gt;  &lt;p&gt;&lt;font color="#808080"&gt;&lt;em&gt;“&lt;/em&gt;&lt;em&gt;Hi Mauricio,I came across a reference to your blog at :&lt;/em&gt;&lt;/font&gt;&lt;a href="http://stackoverflow.com/questions/1286746/c-open-link-in-new-tab-webbrowser-control"&gt;&lt;em&gt;&lt;font color="#0080ff"&gt;http://stackoverflow.com/questions/1286746/c-open-link-in-new-tab-webbrowser-control&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font color="#808080"&gt; &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;I have been studying your writings on extending the WebBrowser control, and verified that the extended web code you wrote for C# compiles and works fine in VS 2010 beta, against FrameWork 4.0.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;Many thanks for the valuble code and writing !&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;I am &amp;quot;stuck&amp;quot; on how to read the contents of an IE browser page when the page is displaying a local file, like the contents of the Favorites folder. &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;All my attempts to get at the Document or DomDocument by casting it to the usual mshtml.dll interfaces fail.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;I am NOT asking you to answer my question, or respond, but if you ever get interested in blogging about this aspect of use of IE, I think many people would be interested. &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;I have done a lot of research on the net, and posted my own question on StackOverFlow : so far not one real pointer, and, possibly, this is not &amp;quot;doable&amp;quot; (?) : maybe what you are seeing when IE shows a file contents is a kind of &amp;quot;virtual explorer&amp;quot; view that is not parseable.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#808080"&gt;best, Bill xxxxxx”&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;And I decided to take at look at it to see if I could be of any help and I found out that it is easy and doable.&lt;/p&gt;  &lt;p&gt;So I find an &lt;a href="http://www.home-server-addins.com/archives/14"&gt;useful link&lt;/a&gt; by Andreas M. if you want to look at it.&lt;/p&gt;  &lt;p&gt;In general My Favorites, Desktop, etc are special folder. So they need a trick to be able to access them.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.artinsoft.net/public_img/IEExplorerandFavoritesfolderorSpecialFol_7FED/image.png"&gt;&lt;img title="image" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="484" alt="image" src="http://blogs.artinsoft.net/public_img/IEExplorerandFavoritesfolderorSpecialFol_7FED/image_thumb.png" width="562" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Take the code from my ExtendedWebBrowser sample published in &lt;a title="http://blogs.artinsoft.net/mrojas/archive/2009/05/01/opening-popup-in-a-newwindow.aspx" href="http://blogs.artinsoft.net/mrojas/archive/2009/05/01/opening-popup-in-a-newwindow.aspx"&gt;http://blogs.artinsoft.net/mrojas/archive/2009/05/01/opening-popup-in-a-newwindow.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and &lt;a title="http://blogs.artinsoft.net/mrojas/archive/2009/08/07/newwindow3.aspx" href="http://blogs.artinsoft.net/mrojas/archive/2009/08/07/newwindow3.aspx"&gt;http://blogs.artinsoft.net/mrojas/archive/2009/08/07/newwindow3.aspx&lt;/a&gt; and &lt;/p&gt;  &lt;p&gt;1. Add a reference to %windir%\system32\shell32.dll&lt;/p&gt;  &lt;p&gt;2. Add a new property to the ExtendedWebBrowser like:&lt;/p&gt;   &lt;pre class="csharpcode"&gt;    &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
    &lt;span class="rem"&gt;/// Returns the shell folderview object displayed in the webbrowser control.&lt;/span&gt;
    &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;public&lt;/span&gt; Shell32.IShellFolderViewDual2 FolderView
    {
        get
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; ((SHDocVw.WebBrowser)&lt;span class="kwrd"&gt;base&lt;/span&gt;.ActiveXInstance).Document
                     &lt;span class="kwrd"&gt;as&lt;/span&gt; Shell32.IShellFolderViewDual2;
        }
    }&lt;/pre&gt;

&lt;p&gt;And now you can access the special folder from your code. As Bill mentioned, that “page” or “special page” is not real HTML and not parseable but you can examine its contents for example you can do something like:&lt;/p&gt;


&lt;pre class="csharpcode"&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span class="rem"&gt;/// Button 1_ click&lt;/span&gt;
        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; button1_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e)
        {
            Shell32.IShellFolderViewDual2 specialFolder = &lt;span class="kwrd"&gt;this&lt;/span&gt;.extendedWebBrowser1.FolderView;
            &lt;span class="kwrd"&gt;string&lt;/span&gt; folderName = specialFolder.Folder.Title;
            &lt;span class="kwrd"&gt;string&lt;/span&gt; parentFolder = specialFolder.Folder.ParentFolder.Title;
            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Shell32.ShellFolderItem f &lt;span class="kwrd"&gt;in&lt;/span&gt; specialFolder.Folder.Items())
            {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (f.IsFolder)
                    System.Diagnostics.Debug.WriteLine(&lt;span class="str"&gt;&amp;quot;Folder:&amp;quot;&lt;/span&gt; + f.Name);
                &lt;span class="kwrd"&gt;else&lt;/span&gt;
                    System.Diagnostics.Debug.WriteLine(&lt;span class="str"&gt;&amp;quot;File:&amp;quot;&lt;/span&gt; + f.Name);
            } &lt;span class="rem"&gt;// foreach&lt;/span&gt;
        } // button1_Click(sender, e)&lt;/pre&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1986" width="1" height="1"&gt;</description><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/vb6migration/default.aspx">vb6migration</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/WebBrowser/default.aspx">WebBrowser</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/WebBrowserControl/default.aspx">WebBrowserControl</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/IE/default.aspx">IE</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/Special+Folders/default.aspx">Special Folders</category></item></channel></rss>