<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Root von SHBrowseForFolder setzen]]></title><description><![CDATA[<pre><code class="language-cpp">void GUIShellBrowserDialog::SetCSIDL(int csidl)
{
	m_csidl = csidl;
}

std::string GUIShellBrowserDialog::Browse() const
{
	LPITEMIDLIST pidlroot = NULL;
    LPITEMIDLIST pidlselect = NULL;
	LPMALLOC pmalloc = NULL;
	BROWSEINFO bi;	

	char retval[MAX_PATH + 1] = {0};
	char displayname[MAX_PATH + 1] = {0};

	strncpy(displayname, m_displayname.c_str(), sizeof(displayname)-1);

	if(SHGetMalloc(&amp;pmalloc) == NOERROR)
	{
		if(m_csidl)
			SHGetSpecialFolderLocation(m_parent, m_csidl, &amp;pidlroot);

		memset(&amp;bi, 0, sizeof(BROWSEINFO));
		bi.ulFlags = FlagsToValue();
		bi.hwndOwner = m_parent;
		bi.pidlRoot  = pidlroot;
		bi.pszDisplayName = displayname;
		bi.lpszTitle = m_title.c_str();	

		if((pidlselect = SHBrowseForFolder(&amp;bi)) != NULL)
		{
			MessageBox(0, displayname, displayname, 0);
			strncpy(retval, displayname, sizeof(retval)-1);
			SHGetPathFromIDList(pidlselect, retval);
			if(*retval == 0) 
				strncpy(retval, displayname, sizeof(retval)-1);
			pmalloc-&gt;Free(pidlselect);
		}

		if(pidlroot) pmalloc-&gt;Free(pidlroot);

		pmalloc-&gt;Release();
	}

	return std::string(retval);
}
</code></pre>
<p>ich kann jetzt mit hilfe von</p>
<pre><code class="language-cpp">SetCSIDL(CSIDL_NETWORK);
</code></pre>
<p>dirkt auf &quot;My Network Places&quot; springen; bzw. &quot;My Network Places&quot; ist der Root des angezeigten Baumes.</p>
<p>das ganze sieht jetzt so aus</p>
<pre><code>- My Network Places
| - Entire Network
  | + Microsoft Windows Network
  | + Directory
  + c$ on someserver
  + temaballer.de
</code></pre>
<p>besteht die möglichkeit, dass &quot;Entire Network&quot; oder gar &quot;Microsoft Windows Network&quot; die Root ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/95584/root-von-shbrowseforfolder-setzen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 18:29:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/95584.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Dec 2004 12:42:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Root von SHBrowseForFolder setzen on Tue, 21 Dec 2004 12:42:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void GUIShellBrowserDialog::SetCSIDL(int csidl)
{
	m_csidl = csidl;
}

std::string GUIShellBrowserDialog::Browse() const
{
	LPITEMIDLIST pidlroot = NULL;
    LPITEMIDLIST pidlselect = NULL;
	LPMALLOC pmalloc = NULL;
	BROWSEINFO bi;	

	char retval[MAX_PATH + 1] = {0};
	char displayname[MAX_PATH + 1] = {0};

	strncpy(displayname, m_displayname.c_str(), sizeof(displayname)-1);

	if(SHGetMalloc(&amp;pmalloc) == NOERROR)
	{
		if(m_csidl)
			SHGetSpecialFolderLocation(m_parent, m_csidl, &amp;pidlroot);

		memset(&amp;bi, 0, sizeof(BROWSEINFO));
		bi.ulFlags = FlagsToValue();
		bi.hwndOwner = m_parent;
		bi.pidlRoot  = pidlroot;
		bi.pszDisplayName = displayname;
		bi.lpszTitle = m_title.c_str();	

		if((pidlselect = SHBrowseForFolder(&amp;bi)) != NULL)
		{
			MessageBox(0, displayname, displayname, 0);
			strncpy(retval, displayname, sizeof(retval)-1);
			SHGetPathFromIDList(pidlselect, retval);
			if(*retval == 0) 
				strncpy(retval, displayname, sizeof(retval)-1);
			pmalloc-&gt;Free(pidlselect);
		}

		if(pidlroot) pmalloc-&gt;Free(pidlroot);

		pmalloc-&gt;Release();
	}

	return std::string(retval);
}
</code></pre>
<p>ich kann jetzt mit hilfe von</p>
<pre><code class="language-cpp">SetCSIDL(CSIDL_NETWORK);
</code></pre>
<p>dirkt auf &quot;My Network Places&quot; springen; bzw. &quot;My Network Places&quot; ist der Root des angezeigten Baumes.</p>
<p>das ganze sieht jetzt so aus</p>
<pre><code>- My Network Places
| - Entire Network
  | + Microsoft Windows Network
  | + Directory
  + c$ on someserver
  + temaballer.de
</code></pre>
<p>besteht die möglichkeit, dass &quot;Entire Network&quot; oder gar &quot;Microsoft Windows Network&quot; die Root ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/677890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/677890</guid><dc:creator><![CDATA[esskar]]></dc:creator><pubDate>Tue, 21 Dec 2004 12:42:35 GMT</pubDate></item><item><title><![CDATA[Reply to Root von SHBrowseForFolder setzen on Tue, 21 Dec 2004 17:26:04 GMT]]></title><description><![CDATA[<p>google mal nach CSIDL. In der MSDN solltest du alle verfügbaren CSIDLs finden. Ich war selber erstaunt, wie viele es davon giebt :).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678121</guid><dc:creator><![CDATA[TheBigW]]></dc:creator><pubDate>Tue, 21 Dec 2004 17:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to Root von SHBrowseForFolder setzen on Tue, 21 Dec 2004 17:58:07 GMT]]></title><description><![CDATA[<p>danke;<br />
die kenn ich aber schon;<br />
muss ich wohl selbst was stricken</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678170</guid><dc:creator><![CDATA[esskar]]></dc:creator><pubDate>Tue, 21 Dec 2004 17:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to Root von SHBrowseForFolder setzen on Tue, 21 Dec 2004 23:23:08 GMT]]></title><description><![CDATA[<p>hi.</p>
<p>ich benutze jetzt WNetOpenEnum und WNetEnumResource um die domains und deren pcs selber zu browsen;<br />
hab aber ein kleines nice-to-have problem.</p>
<p>wenn die Domain mit SHBrowseForFolder z.b. so angezeigt wird</p>
<p>Dia2k</p>
<p>dann sieht sie beim enumerieren so aus</p>
<p>DIA2K</p>
<p>das sieht aber nicht so schön aus; servernamen werden auch in Großbuchstaben zurück gegeben; hab ich ne chance, die &quot;schönen&quot; Namen zu erhalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678384</guid><dc:creator><![CDATA[esskar]]></dc:creator><pubDate>Tue, 21 Dec 2004 23:23:08 GMT</pubDate></item></channel></rss>