<?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[Dateien kopieren funzt einfach nicht...]]></title><description><![CDATA[<p>Hi Jungs,<br />
eventuell kann mir jemand helfen.. ich werde noch bekloppt heute <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>System: Win XP SP2<br />
Sprache VC++</p>
<pre><code class="language-cpp">bool CInstallThread::CopySH(LPCTSTR pFromFolder, LPCTSTR pToFolder)
{
	//--- copy - routine  ---
	CString from = pFromFolder;
	CString to   = pToFolder;

	from += '\0';
	to	 += '\0';

	SHFILEOPSTRUCT fo;
	fo.fAnyOperationsAborted	= NULL;
	fo.hwnd						= NULL;
    fo.hNameMappings			= NULL;
    fo.lpszProgressTitle		= NULL;
	fo.wFunc					= FO_COPY;
	fo.pFrom					= from;
	fo.pTo						= to;
	fo.fFlags					= FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_NOCONFIRMATION | FOF_SILENT;

	if( ::SHFileOperation(&amp;fo) )
	{
		DWORD dw = GetLastError();//only for debugging
		return false;
	}

	return true;
}
</code></pre>
<p>mein Problem: es wird nix kopiert. GetLastError() gibt mir ERROR_INVALID_HANDLE zurück.<br />
from und to sind jeweils die Dateipfade. Der to Pfad existiert noch nicht, soll silently angelegt werden.</p>
<p>Warum bekomm ich da nur ERROR_INVALID_HANDLE zurück? Wenn ich die Flags wegnehme, dann funzts, aber man muss halt alles bestätigen, was ich nicht möchte.</p>
<p>Jemand ne Ahnung? Hoffe die Infos reichen, wenn nicht einfach fragen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207414/dateien-kopieren-funzt-einfach-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 20:51:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207414.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Mar 2008 10:44:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 10:44:53 GMT]]></title><description><![CDATA[<p>Hi Jungs,<br />
eventuell kann mir jemand helfen.. ich werde noch bekloppt heute <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>System: Win XP SP2<br />
Sprache VC++</p>
<pre><code class="language-cpp">bool CInstallThread::CopySH(LPCTSTR pFromFolder, LPCTSTR pToFolder)
{
	//--- copy - routine  ---
	CString from = pFromFolder;
	CString to   = pToFolder;

	from += '\0';
	to	 += '\0';

	SHFILEOPSTRUCT fo;
	fo.fAnyOperationsAborted	= NULL;
	fo.hwnd						= NULL;
    fo.hNameMappings			= NULL;
    fo.lpszProgressTitle		= NULL;
	fo.wFunc					= FO_COPY;
	fo.pFrom					= from;
	fo.pTo						= to;
	fo.fFlags					= FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_NOCONFIRMATION | FOF_SILENT;

	if( ::SHFileOperation(&amp;fo) )
	{
		DWORD dw = GetLastError();//only for debugging
		return false;
	}

	return true;
}
</code></pre>
<p>mein Problem: es wird nix kopiert. GetLastError() gibt mir ERROR_INVALID_HANDLE zurück.<br />
from und to sind jeweils die Dateipfade. Der to Pfad existiert noch nicht, soll silently angelegt werden.</p>
<p>Warum bekomm ich da nur ERROR_INVALID_HANDLE zurück? Wenn ich die Flags wegnehme, dann funzts, aber man muss halt alles bestätigen, was ich nicht möchte.</p>
<p>Jemand ne Ahnung? Hoffe die Infos reichen, wenn nicht einfach fragen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469899</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Fri, 07 Mar 2008 10:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:16:33 GMT]]></title><description><![CDATA[<p>Ich denke mal es liegt am hwnd ein anderes Handle seh ich nicht.</p>
<p>schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469915</guid><dc:creator><![CDATA[schirrmie]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:16:33 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:18:24 GMT]]></title><description><![CDATA[<p>Wie sehen denn deine Pfade aus? Da hatte ich mal sehr lange Probleme mit..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469918</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:18:56 GMT]]></title><description><![CDATA[<p>Und wenn du hier: fo.hwnd = NULL; mal das Handle des übergeordneten Fensters angibst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469919</guid><dc:creator><![CDATA[_Luckie]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:18:56 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:20:52 GMT]]></title><description><![CDATA[<p>ich habs grad rausgefunden...</p>
<p>das übergebene handle ist gemeint... also &amp;fo...</p>
<p>wenn man FOF_NOCONFIRMATION und FOF_NOERRORUI gleichzeitig nutzt, ist das komplette struct ungültig. ka warum... ohne FOF_NOERRORUI läufts.</p>
<p>-&gt; ich hab kein übergeordnetes fenster <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ist nen thread ;)...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469922</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:20:52 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:22:48 GMT]]></title><description><![CDATA[<p>1. Nicht GetLastError verwenden (laut MSDN)</p>
<p>2. Wenn der Returncode von SHFileOperation 0x402 ist, dann sind pFrom und pTo nicht doppel-0-terminiert (überprüfe via Debugger).<br />
In dem Fall C-Strings verwenden, Parameter kopieren und am ende noch eine 0 hinzufügen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469924</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:22:48 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:25:22 GMT]]></title><description><![CDATA[<p>Airdamn schrieb:</p>
<blockquote>
<p>1. Nicht GetLastError verwenden (laut MSDN)</p>
<p>2. Wenn der Returncode von SHFileOperation 0x402 ist, dann sind pFrom und pTo nicht doppel-0-terminiert (überprüfe via Debugger).<br />
In dem Fall C-Strings verwenden, Parameter kopieren und am ende noch eine 0 hinzufügen</p>
</blockquote>
<p>ääehm... was mache ich da wohl? :</p>
<pre><code class="language-cpp">...  CString from = pFromFolder; 
    CString to   = pToFolder; 

    from += '\0'; 
    to     += '\0';...
</code></pre>
<p>aber das, was ich eben geschrieben habe, ist scheinbar doch nicht der fehler...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469927</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:25:22 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:38:28 GMT]]></title><description><![CDATA[<p>Überprüf den Rückgabewert (ohne GetLastError) und schau, was rauskommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469934</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:38:28 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:44:18 GMT]]></title><description><![CDATA[<p>mein Rückgabewert ist 0x000004c7</p>
<p>stimmt mit keinem der werte aus der msdn überein. ich heul gleich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469940</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:44:18 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 11:47:41 GMT]]></title><description><![CDATA[<p>0x000004c7 scheint wohl &quot;abbruch durch benutzer&quot; zu sein... hm...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469943</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Fri, 07 Mar 2008 11:47:41 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Fri, 07 Mar 2008 13:35:02 GMT]]></title><description><![CDATA[<p>so, ich hab den mist jetz...</p>
<p>Wenn man FOF_SILENT setzt, dann muss man zwingend ein HWND angeben, weil dann dort die Statusinfos hingesendet werden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Wer sich sowas ausdenkt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Weiß jetzt zufällig einer, wie ich auf die Statusinfos in dem HWND reagieren kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1470034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470034</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Fri, 07 Mar 2008 13:35:02 GMT</pubDate></item><item><title><![CDATA[Reply to Dateien kopieren funzt einfach nicht... on Sat, 08 Mar 2008 00:45:24 GMT]]></title><description><![CDATA[<p>Machine schrieb:</p>
<blockquote>
<p>Wenn man FOF_SILENT setzt, dann muss man zwingend ein HWND angeben, weil dann dort die Statusinfos hingesendet werden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Oh, das wusste ich bisher noch nicht. Ist aber spannend zu wissen.</p>
<blockquote>
<p>Wer sich sowas ausdenkt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Leute, die sich mal vernünftig Gedanken gemacht haben.</p>
<blockquote>
<p>Weiß jetzt zufällig einer, wie ich auf die Statusinfos in dem HWND reagieren kann?</p>
</blockquote>
<p>Oh, das wäre auch gut zu wissen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1470380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470380</guid><dc:creator><![CDATA[_Luckie]]></dc:creator><pubDate>Sat, 08 Mar 2008 00:45:24 GMT</pubDate></item></channel></rss>