<?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[Wie kann ich in WinAPI eine Datei öffnen?]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe eine WinAPI Programm begonnen. Nun habe ich bereits eine Menüleiste. Ein Menüpunkt ist &quot;Datei&quot;. Und im untergeornetem Menüpunkt habe ich &quot;Öffnen&quot;. Nun, wenn man auf öffnen klickt, habe ich einen FileOpenDialog programmiert. Doch wie kann ich nun eine Datei auswählen und in mein Programm laden?</p>
<p>Codeausschnitt:</p>
<pre><code class="language-cpp">case ID_FILE_OPEN:
				{
					OPENFILENAME ofn;
					char szFileName[MAX_PATH] = &quot;&quot;;

					ZeroMemory(&amp;ofn, sizeof(ofn));

					ofn.lStructSize = sizeof(ofn);
					ofn.hwndOwner   = hwnd;
					ofn.lpstrFilter = &quot;Text Datei (*.txt)\0*.txt\0&quot;
									   &quot;C Datei (*.c)\0*.c\0&quot;
									   &quot;Alle Dateien (*.*)\0*.*\0&quot;;
					ofn.lpstrFile   = szFileName;
					ofn.nMaxFile    = MAX_PATH;
					ofn.Flags       = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
					ofn.lpstrDefExt = &quot;txt&quot;;

					GetOpenFileName(&amp;ofn);

				} break;
</code></pre>
<p>Kann jemand meine Frage beantworten?</p>
<p>Gruss Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243696/wie-kann-ich-in-winapi-eine-datei-öffnen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 04:47:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243696.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Jun 2009 20:56:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Fri, 19 Jun 2009 20:56:56 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe eine WinAPI Programm begonnen. Nun habe ich bereits eine Menüleiste. Ein Menüpunkt ist &quot;Datei&quot;. Und im untergeornetem Menüpunkt habe ich &quot;Öffnen&quot;. Nun, wenn man auf öffnen klickt, habe ich einen FileOpenDialog programmiert. Doch wie kann ich nun eine Datei auswählen und in mein Programm laden?</p>
<p>Codeausschnitt:</p>
<pre><code class="language-cpp">case ID_FILE_OPEN:
				{
					OPENFILENAME ofn;
					char szFileName[MAX_PATH] = &quot;&quot;;

					ZeroMemory(&amp;ofn, sizeof(ofn));

					ofn.lStructSize = sizeof(ofn);
					ofn.hwndOwner   = hwnd;
					ofn.lpstrFilter = &quot;Text Datei (*.txt)\0*.txt\0&quot;
									   &quot;C Datei (*.c)\0*.c\0&quot;
									   &quot;Alle Dateien (*.*)\0*.*\0&quot;;
					ofn.lpstrFile   = szFileName;
					ofn.nMaxFile    = MAX_PATH;
					ofn.Flags       = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
					ofn.lpstrDefExt = &quot;txt&quot;;

					GetOpenFileName(&amp;ofn);

				} break;
</code></pre>
<p>Kann jemand meine Frage beantworten?</p>
<p>Gruss Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729800</guid><dc:creator><![CDATA[Eglifisch1]]></dc:creator><pubDate>Fri, 19 Jun 2009 20:56:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Fri, 19 Jun 2009 21:05:25 GMT]]></title><description><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx" rel="nofollow">クリートファイル</a>ですよ！！</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729806</guid><dc:creator><![CDATA[nihonfisch1]]></dc:creator><pubDate>Fri, 19 Jun 2009 21:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Fri, 19 Jun 2009 21:18:02 GMT]]></title><description><![CDATA[<p>Also <strong>GetOpenFileName</strong> gibt dir ja einen Wert zurück, bei TRUE wurde eine Datei ausgewählt und steht dann in <strong>ofn.lpstrFile</strong>, wird FALSE zurückgegenen, wurde keine Datei ausgewählt. Soweit ist dein Code auch ok, du brauchst nur sowas wie:</p>
<pre><code class="language-cpp">if(GetOpenFileName(&amp;ofn)){
		......
	}else{
		......
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1729813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729813</guid><dc:creator><![CDATA[.......]]></dc:creator><pubDate>Fri, 19 Jun 2009 21:18:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Fri, 19 Jun 2009 21:33:18 GMT]]></title><description><![CDATA[<p>du kannst entweder die funktionen aus stdio.h nehmen (fopen, fread, fgets, ...) oder du nimmst die winapi funktionen CreateFile, ReadFile</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729820</guid><dc:creator><![CDATA[player4245]]></dc:creator><pubDate>Fri, 19 Jun 2009 21:33:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Fri, 19 Jun 2009 21:50:35 GMT]]></title><description><![CDATA[<p>Danke für eure Tipps.</p>
<p>Ich habe nun beides probiert. Doch ich komme noch nicht auf den Lösungsweg. Kann mir jemand ein Beispiel zeigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729825</guid><dc:creator><![CDATA[Eglifisch1]]></dc:creator><pubDate>Fri, 19 Jun 2009 21:50:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Fri, 19 Jun 2009 22:24:03 GMT]]></title><description><![CDATA[<p>Sag doch, was schief läuft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729835</guid><dc:creator><![CDATA[Schiefläufer]]></dc:creator><pubDate>Fri, 19 Jun 2009 22:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 12:10:28 GMT]]></title><description><![CDATA[<p>Ja, also ich habe es mit CreateFile ausprobiert. Ich habe es so geschrieben:</p>
<pre><code class="language-cpp">if (GetOpenFileName(&amp;ofn)==TRUE) 
{
    hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
        0, (LPSECURITY_ATTRIBUTES) NULL,
        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
        (HANDLE) NULL);
}
</code></pre>
<p>Doch nun weiss ich nicht, wie ich die Datei ausgeben kann. Kann mir da jemand ein Codebeispiel zeigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730024</guid><dc:creator><![CDATA[Eglifisch1]]></dc:creator><pubDate>Sat, 20 Jun 2009 12:10:28 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 12:33:02 GMT]]></title><description><![CDATA[<p>Scheitert es am suchen, am lesen, oder am verstehen?</p>
<pre><code class="language-cpp">char buffer[1024];
unsigned long bytesRead;
ReadFile(hf, buffer, sizeof(buffer), bytesRead, 0);

// ODER

std::ifstream file(ofn.lpstrFile);

std::string line;
while(getline(file, line))
	;

file.close();
</code></pre>
<p>gOOgle ist dein Freund.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730035</guid><dc:creator><![CDATA[Schiefläufer]]></dc:creator><pubDate>Sat, 20 Jun 2009 12:33:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 13:43:12 GMT]]></title><description><![CDATA[<p>das funktioniert so nicht. in lpstrFile muss ein zeiger zu einer variable rein, die dann mit dem dateinamen befüllt wird.</p>
<pre><code class="language-cpp">char buffer[MAX_PATH]={0}; // Muss mit 0 intialisiert werden
OPENFILENAME ofn;

// ...
ofn.lpstrFile=buffer;
ofn.lpstrMaxFile=MAX_PATH;
// ...

if (GetOpenFileName(&amp;ofn))
{
h=CreateFile(buffer, ...);
// ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1730073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730073</guid><dc:creator><![CDATA[player424]]></dc:creator><pubDate>Sat, 20 Jun 2009 13:43:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 14:50:43 GMT]]></title><description><![CDATA[<p>Doch nun wird noch nichts im Fenster angezeigt, wenn ich zum Beispiel eine .txt Datei öffne, warum?</p>
<p>Ich habe CreateFile und ReadFile benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730088</guid><dc:creator><![CDATA[Eglifisch1]]></dc:creator><pubDate>Sat, 20 Jun 2009 14:50:43 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 14:54:26 GMT]]></title><description><![CDATA[<p>zeig mal deinen code</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730089</guid><dc:creator><![CDATA[player424]]></dc:creator><pubDate>Sat, 20 Jun 2009 14:54:26 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 15:22:23 GMT]]></title><description><![CDATA[<p>Hier ist mein Code:</p>
<pre><code class="language-cpp">case ID_FILE_OPEN:
				{
					OPENFILENAME ofn;
					HANDLE hf;
					char buffer[MAX_PATH]={0};
					DWORD dwRead = 2;

					char szFileName[MAX_PATH] = &quot;&quot;;

					ZeroMemory(&amp;ofn, sizeof(ofn));

					ofn.lStructSize = sizeof(ofn);
					ofn.hwndOwner   = hwnd;
					ofn.lpstrFilter = &quot;Text Datei (*.txt)\0*.txt\0&quot;
									   &quot;C Datei (*.c)\0*.c\0&quot;
									   &quot;Alle Dateien (*.*)\0*.*\0&quot;;
					ofn.lpstrFile   = szFileName;
					ofn.nMaxFile    = MAX_PATH;
					ofn.Flags       = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
					ofn.lpstrDefExt = &quot;txt&quot;;

					if(GetOpenFileName(&amp;ofn) == TRUE)
					{
						hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
							            0, (LPSECURITY_ATTRIBUTES) NULL,
										OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
										(HANDLE) NULL); 
					}

					ReadFile(hf, buffer, sizeof(buffer), &amp;dwRead, 0);

				} break;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1730100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730100</guid><dc:creator><![CDATA[Eglifisch1]]></dc:creator><pubDate>Sat, 20 Jun 2009 15:22:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 16:36:32 GMT]]></title><description><![CDATA[<p>ersetz das ofn.lpstrFile in createfile mal durch buffer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730134</guid><dc:creator><![CDATA[player4245]]></dc:creator><pubDate>Sat, 20 Jun 2009 16:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 17:14:06 GMT]]></title><description><![CDATA[<p>Eglifisch1 schrieb:</p>
<blockquote>
<p>Doch nun wird noch nichts im Fenster angezeigt, wenn ich zum Beispiel eine .txt Datei öffne, warum?</p>
<p>Ich habe CreateFile und ReadFile benutzt.</p>
</blockquote>
<p>Weil ReadFile nur die Daten einliest und mit der Anzeige nichts zu tun hat. Du musst also noch WM_PAINT verarbeiten und hier Code für die Darstellung schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730147</guid><dc:creator><![CDATA[sri]]></dc:creator><pubDate>Sat, 20 Jun 2009 17:14:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 21:58:08 GMT]]></title><description><![CDATA[<p>So nun habe ich es geschafft, den Pfad über ein MessageBox auszugeben. Natürlich ist es auch kein Problem über WM_PAINT das auszugeben. Doch wie kann ich den Inhalt der Datei ausgeben? Kann mir da jemand ein Tipp geben. Mein Code sieht so aus:</p>
<pre><code class="language-cpp">case ID_FILE_OPEN:
				{	
					ofn.lStructSize = sizeof(ofn);
					ofn.hwndOwner   = hwnd;
					ofn.lpstrFilter = &quot;Text Datei (*.txt)\0*.txt\0&quot;
									   &quot;C Datei (*.c)\0*.c\0&quot;
									   &quot;Alle Dateien (*.*)\0*.*\0&quot;;
					ofn.lpstrFile   = szFileName;
					ofn.nMaxFile    = MAX_PATH;
					ofn.Flags       = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
					ofn.lpstrDefExt = &quot;txt&quot;;

					if(GetOpenFileName(&amp;ofn) == TRUE)
					{
						MessageBox(NULL, ofn.lpstrFile, &quot;Success&quot;,
								   MB_OK | MB_ICONEXCLAMATION);

						hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
							            0, (LPSECURITY_ATTRIBUTES) NULL,
										OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
										(HANDLE) NULL);
					}

					ReadFile(hf, buffer, sizeof(buffer), &amp;dwRead, 0);

				} break;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1730251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730251</guid><dc:creator><![CDATA[Eglifisch1]]></dc:creator><pubDate>Sat, 20 Jun 2009 21:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 22:15:43 GMT]]></title><description><![CDATA[<p>wenn es kein problem ist das darzustellen dann tu es doch einfach...<br />
ansonsten erstell ein Edit Control und schick den inhalt von buffer mit SendMessage() und WM_SETTEXT an das Edit Control</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730257</guid><dc:creator><![CDATA[gosha16]]></dc:creator><pubDate>Sat, 20 Jun 2009 22:15:43 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Sat, 20 Jun 2009 22:24:07 GMT]]></title><description><![CDATA[<p>Du bist echt schwer von Begriff. Soll keine Beleidigung sein, ist einfach so.<br />
Man hat dir jetzt mehrfach Lösungen gezeigt. Ein bisschen selbst denken bitte.<br />
<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="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730262</guid><dc:creator><![CDATA[Begreifer]]></dc:creator><pubDate>Sat, 20 Jun 2009 22:24:07 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich in WinAPI eine Datei öffnen? on Mon, 22 Jun 2009 03:07:50 GMT]]></title><description><![CDATA[<p>schau mal nach GDI und Text ... das knallst du in WM_PAINT rein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730781</guid><dc:creator><![CDATA[43g4]]></dc:creator><pubDate>Mon, 22 Jun 2009 03:07:50 GMT</pubDate></item></channel></rss>