<?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[GetOpenFileName - FileDialog funktioniert nicht]]></title><description><![CDATA[<p>Hallo, ich möchte gerne einen Datei-Auswahldialog haben.<br />
Dieser wird auch erfolgreich angezeigt, aber der Rückgabewert ist 0<br />
und der Filename daher leer. Was ist falsch?</p>
<pre><code>OPENFILENAME FILE; 
char Filename[260];     
HANDLE hFile;
ZeroMemory(&amp;FILE, sizeof(FILE));
FILE.lStructSize = sizeof(FILE);
FILE.hwndOwner = hWnd;
FILE.lpstrFile = Filename;
FILE.lpstrFile[0] = '\0';
FILE.nMaxFile = sizeof(hFile);
FILE.lpstrFilter = &quot;All\0*.*\0Text\0*.TXT\0&quot;;
FILE.nFilterIndex = 0;
FILE.lpstrFileTitle = NULL;
FILE.nMaxFileTitle = 0;
FILE.lpstrInitialDir = NULL;
FILE.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
GetOpenFileName(&amp;FILE);
int error;
error = GetLastError();
SendMessage(FileName, WM_SETTEXT, 0, (LPARAM)Filename);
sprintf(Filename,&quot;%d&quot;,error);
MessageBoxA(NULL,Filename,&quot;A&quot;,MB_OK);
</code></pre>
<p>Im Textfeld steht ein einzelnes kryptisches Zeichen [0x14]<br />
und GetlastError gibt 0 [ERROR_SUCCES] zurück!<br />
Ich hab mir das ganze mal mit OllyDbg angeschaut und während dem Dialogfenster sind diverse LastErrors zusehen, unter anderem INVALID_PARAMETER, wobei diese Fehler aber alle in der comdlg32.dll liegen.</p>
<p>Weiß jemand Rat?<br />
Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162569/getopenfilename-filedialog-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 23:56:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162569.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Oct 2006 21:11:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Thu, 19 Oct 2006 21:11:50 GMT]]></title><description><![CDATA[<p>Hallo, ich möchte gerne einen Datei-Auswahldialog haben.<br />
Dieser wird auch erfolgreich angezeigt, aber der Rückgabewert ist 0<br />
und der Filename daher leer. Was ist falsch?</p>
<pre><code>OPENFILENAME FILE; 
char Filename[260];     
HANDLE hFile;
ZeroMemory(&amp;FILE, sizeof(FILE));
FILE.lStructSize = sizeof(FILE);
FILE.hwndOwner = hWnd;
FILE.lpstrFile = Filename;
FILE.lpstrFile[0] = '\0';
FILE.nMaxFile = sizeof(hFile);
FILE.lpstrFilter = &quot;All\0*.*\0Text\0*.TXT\0&quot;;
FILE.nFilterIndex = 0;
FILE.lpstrFileTitle = NULL;
FILE.nMaxFileTitle = 0;
FILE.lpstrInitialDir = NULL;
FILE.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
GetOpenFileName(&amp;FILE);
int error;
error = GetLastError();
SendMessage(FileName, WM_SETTEXT, 0, (LPARAM)Filename);
sprintf(Filename,&quot;%d&quot;,error);
MessageBoxA(NULL,Filename,&quot;A&quot;,MB_OK);
</code></pre>
<p>Im Textfeld steht ein einzelnes kryptisches Zeichen [0x14]<br />
und GetlastError gibt 0 [ERROR_SUCCES] zurück!<br />
Ich hab mir das ganze mal mit OllyDbg angeschaut und während dem Dialogfenster sind diverse LastErrors zusehen, unter anderem INVALID_PARAMETER, wobei diese Fehler aber alle in der comdlg32.dll liegen.</p>
<p>Weiß jemand Rat?<br />
Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1157971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157971</guid><dc:creator><![CDATA[OFN]]></dc:creator><pubDate>Thu, 19 Oct 2006 21:11:50 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Thu, 19 Oct 2006 21:41:33 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Du machst da, ums sanft auszudrücken, totalen Mist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ...Also:</p>
<ol>
<li></li>
</ol>
<pre><code class="language-cpp">FILE.lpstrFile = Filename;
FILE.lpstrFile[0] = '\0';
</code></pre>
<p>Wieso denn das '\0' ?</p>
<ol start="2">
<li></li>
</ol>
<pre><code class="language-cpp">HANDLE hFile;
FILE.nMaxFile = sizeof(hFile);
</code></pre>
<p>Was bringt dir das ? Das gehört doch da gar nicht hin :p ...<br />
HANDLE ist hier falsch. (Schau dir die Definition der Struktur unten im Link an <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>
<ol start="3">
<li></li>
</ol>
<pre><code class="language-cpp">FILE.lpstrFilter = &quot;All\0*.*\0Text\0*.TXT\0&quot;;
</code></pre>
<p>Das reicht auch nicht:</p>
<blockquote>
<p>The last string in the buffer must be terminated by two NULL characters.</p>
</blockquote>
<ol start="4">
<li></li>
</ol>
<pre><code class="language-cpp">int error;
error = GetLastError();
</code></pre>
<p>Mal davon abgesehen das du damit den Return-Wert von GetLastError von unsigned long auf int verkürzt (und damit mglw. noch weiteren Mist baust <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ) brauchst du hier die Funktion <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <a href="http://search.msdn.microsoft.com/search/Redirect.aspx?title=CommDlgExtendedError&amp;url=http://msdn.microsoft.com/library/en-us/wceui40/html/cerefcommdlgextendederror.asp" rel="nofollow">CommDlgExtendedError</a></p>
<p>PS: Vielleicht guckst du dir die <a href="http://search.msdn.microsoft.com/search/Redirect.aspx?title=OPENFILENAME+Structure&amp;url=http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxstructures/openfilename.asp" rel="nofollow">Definition der Struktur OPENFILENAME</a> noch mal an. <a href="http://winapi.net/index.php?inhalt=s36" rel="nofollow">Hier</a> hast du auch nochmal ein Beispiel dazu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1157986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157986</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 19 Oct 2006 21:41:33 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Thu, 19 Oct 2006 22:09:44 GMT]]></title><description><![CDATA[<p>Wo ich das herhabe?<br />
na aus der MSDN:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/usingcommondialogboxes.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/usingcommondialogboxes.asp</a></p>
<p>War ja klar, dass die nur Schrott machen...<br />
Big thx an dich!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158001</guid><dc:creator><![CDATA[OFN]]></dc:creator><pubDate>Thu, 19 Oct 2006 22:09:44 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Thu, 19 Oct 2006 22:16:28 GMT]]></title><description><![CDATA[<p>Das Beispiel aus der MSDN ist doch in Ordnung! CodeFinder hat einfach unrecht mit seinen Punkten 1 und 3. Bei 2 hast du den Code falsch abkopiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158007</guid><dc:creator><![CDATA[sadkas]]></dc:creator><pubDate>Thu, 19 Oct 2006 22:16:28 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Thu, 19 Oct 2006 22:21:34 GMT]]></title><description><![CDATA[<p>Ich habe es ausprobiert, alle File-Attribute hinzugefügt, die bei CodeFinders Beispiel bei APInet dabeiwaren die MAX_PATHs eingesetzt, wo sie nicht waren, den Punkt 2 behoben<br />
UND<br />
das zweite \0 hingemacht und es funktioniert nun!<br />
Geht aber auch ohne das zweite 0-Byte.<br />
Thx @ all.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158012</guid><dc:creator><![CDATA[OFN]]></dc:creator><pubDate>Thu, 19 Oct 2006 22:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Thu, 19 Oct 2006 22:27:25 GMT]]></title><description><![CDATA[<p>OFN schrieb:</p>
<blockquote>
<p>Geht aber auch ohne das zweite 0-Byte.</p>
</blockquote>
<p>Da ist ein zweites Nullbyte. Stringliterale werden automatisch mit einem Nullbyte abgeschlossen. Dazu kommt das im String, macht zwei <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/1158017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158017</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 19 Oct 2006 22:27:25 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Thu, 19 Oct 2006 22:53:49 GMT]]></title><description><![CDATA[<p>sadkas schrieb:</p>
<blockquote>
<p>Das Beispiel aus der MSDN ist doch in Ordnung! CodeFinder hat einfach unrecht mit seinen Punkten 1 und 3. Bei 2 hast du den Code falsch abkopiert.</p>
</blockquote>
<p>Du Troll...keine Ahnung von nix und dann sonne Sch**** posten ...lol!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158027</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 19 Oct 2006 22:53:49 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Fri, 20 Oct 2006 04:13:52 GMT]]></title><description><![CDATA[<p>CodeFinder schrieb:</p>
<blockquote>
<p>Du Troll...keine Ahnung von nix und dann sonne Sch**** posten ...lol!</p>
</blockquote>
<p>Geht's noch? Ist dir klar, dass der &quot;Troll&quot; Recht hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158054</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 20 Oct 2006 04:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Fri, 20 Oct 2006 07:49:24 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12048">@CodeFinder</a>:</p>
<blockquote>
<p>brauchst du hier die Funktion <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> CommDlgExtendedError</p>
</blockquote>
<p>Die gibt es aber nur für Windows CE. Zumindest führt dein Link zur Windows CE Dokumentation.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158110</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Fri, 20 Oct 2006 07:49:24 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Fri, 20 Oct 2006 12:01:37 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/2803">@MFK</a>: Nö, Punkt 3 Stimme ich zu (da wären dann 3 Null-Terminierungen), aber alles andere ist korrekt.</p>
<p>@Luckie: Ups sry, ne gilt nit nur für Windows CE, der Link is nur falsch, habs mir nit so genau durchgelesen...Hier ist der richtige:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/commdlgextendederror.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/commdlgextendederror.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158302</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Fri, 20 Oct 2006 12:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Fri, 20 Oct 2006 13:21:43 GMT]]></title><description><![CDATA[<p>zu 1) wenn er da keine \0 hinmacht steht im edit-feld für den dateinamen ein zufälliger string.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158379</guid><dc:creator><![CDATA[2000]]></dc:creator><pubDate>Fri, 20 Oct 2006 13:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to GetOpenFileName - FileDialog funktioniert nicht on Sat, 21 Oct 2006 10:12:08 GMT]]></title><description><![CDATA[<p>2000 schrieb:</p>
<blockquote>
<p>zu 1) wenn er da keine \0 hinmacht steht im edit-feld für den dateinamen ein zufälliger string.</p>
</blockquote>
<p>Hm habs mal getestet, aber erscheint auch kein zufälliger Dateiname(n-String) <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="🙄"
    /> . Naja is auch Rille.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158593</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Sat, 21 Oct 2006 10:12:08 GMT</pubDate></item></channel></rss>