<?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[Früher Konsolenanwendung - Heute WinAPI?]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe Anfang des Jahres eine Konsolenanwendung geschrieben. Nun habe ich vor das Ganze graphisch aufzupeppen bzw das Design nach meinen Wünschen anzupassen.</p>
<p>Ich ging also hin und erstellte mir eine Standard WinAPI in Dev-C++. Das Fenster öffnet sich sogar <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="😃"
    /></p>
<p>Nun zum eigentlich Problem:</p>
<p>Im alten Projekt gabs dann die Phrase mit dem:</p>
<pre><code class="language-cpp">int main (int argc, char *argv[])
{
//mach was
}
</code></pre>
<p>Nu stehe ich irgendwie leicht auf dem Schlauch, wo ich das denn bei der WinAPI habe. Auffällig wurde das Ganze durch folgendes:<br />
(ehemalige Konsole)</p>
<pre><code class="language-cpp">void (*pfi) (int fl, MString col, MString Sender, MString Message);

void ParseChatLine (int flag, MString col,MString Sender, MString Message)
{
	if (Message.includes ((&quot;Ein Text&quot;)))
	{
		MString p;		
        p = &quot;Machwasdagegen&quot;;
		ChatBot.say (p.print());
	}	
}

int main (int argc, char *argv[])
{
	pfi = &amp;ParseChatLine;
}
</code></pre>
<p>Wo füge ich denn sowas nun in der WinAPI main.cpp ein?<br />
Für nen Lösungsansatz bedanke ich mich wie immer im voraus <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>Gruß,<br />
SKB</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188600/früher-konsolenanwendung-heute-winapi</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 10:19:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188600.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Aug 2007 08:36:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Früher Konsolenanwendung - Heute WinAPI? on Thu, 02 Aug 2007 08:36:05 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe Anfang des Jahres eine Konsolenanwendung geschrieben. Nun habe ich vor das Ganze graphisch aufzupeppen bzw das Design nach meinen Wünschen anzupassen.</p>
<p>Ich ging also hin und erstellte mir eine Standard WinAPI in Dev-C++. Das Fenster öffnet sich sogar <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="😃"
    /></p>
<p>Nun zum eigentlich Problem:</p>
<p>Im alten Projekt gabs dann die Phrase mit dem:</p>
<pre><code class="language-cpp">int main (int argc, char *argv[])
{
//mach was
}
</code></pre>
<p>Nu stehe ich irgendwie leicht auf dem Schlauch, wo ich das denn bei der WinAPI habe. Auffällig wurde das Ganze durch folgendes:<br />
(ehemalige Konsole)</p>
<pre><code class="language-cpp">void (*pfi) (int fl, MString col, MString Sender, MString Message);

void ParseChatLine (int flag, MString col,MString Sender, MString Message)
{
	if (Message.includes ((&quot;Ein Text&quot;)))
	{
		MString p;		
        p = &quot;Machwasdagegen&quot;;
		ChatBot.say (p.print());
	}	
}

int main (int argc, char *argv[])
{
	pfi = &amp;ParseChatLine;
}
</code></pre>
<p>Wo füge ich denn sowas nun in der WinAPI main.cpp ein?<br />
Für nen Lösungsansatz bedanke ich mich wie immer im voraus <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>Gruß,<br />
SKB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337088</guid><dc:creator><![CDATA[SKB]]></dc:creator><pubDate>Thu, 02 Aug 2007 08:36:05 GMT</pubDate></item><item><title><![CDATA[Reply to Früher Konsolenanwendung - Heute WinAPI? on Thu, 02 Aug 2007 09:53:56 GMT]]></title><description><![CDATA[<p>Prinzipiell läuft das so, dass in der WinAPI alles über Nachrichten läuft. Unter <a href="http://www.winapi.net" rel="nofollow">www.winapi.net</a> gibts eine Einführung in die WinAPI-Programmierung.</p>
<p>Prinzipiell hast du die WndProc, eine Prozedur, die auf jede Nachricht reagiert, die eine Komponente deines Programms bekommt, also z.B. auf Buttonklicks, Mausbewegung, Texteingaben usw.</p>
<p>Da musst du dann deine Methoden/Funktionen einbauen. Kommt halt darauf an, was du schreibst. Wenn es z.B. ein simpler Texteditor ist, dann kommt halt bei SaveButtonClicked ein Aufruf hin, der den Inhalt deines Textfeldes in eine Datei schreibt.</p>
<p>Schau dir mal die Seite an, vielleicht gibt dir das einen Ansatz.</p>
<p>gruß<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337145</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Thu, 02 Aug 2007 09:53:56 GMT</pubDate></item><item><title><![CDATA[Reply to Früher Konsolenanwendung - Heute WinAPI? on Thu, 02 Aug 2007 19:18:13 GMT]]></title><description><![CDATA[<p>Hallo Martin,</p>
<p>danke für deine Antwort. Nun bin ich wenigstens etwas schlauer, was mein Programm betrifft. Nächste Frage ist nun, wie bastel ich denn da eine &quot;Funktion&quot; (oder wie es unter WinAPI auch genannt wird) ein, die ständig ausgeführt werden soll?</p>
<p>Also im Klartext: Das ganze war früher ein Chat Client für Win32 Konsole und soll nun halt als Windows Application mit neuem Gewand erscheinen. Somit habe ich eine Winsock Verbdinung zu dem jeweiligen Server, dann einen Chatline-Parser und z guter letzt noch eine Verbindung zum Server, der das Posten der Texte übernimmt.<br />
Das so als kleiner Einblick in mein Programm.</p>
<p>Gruß,<br />
SKB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337607</guid><dc:creator><![CDATA[SKB]]></dc:creator><pubDate>Thu, 02 Aug 2007 19:18:13 GMT</pubDate></item><item><title><![CDATA[Reply to Früher Konsolenanwendung - Heute WinAPI? on Thu, 02 Aug 2007 19:22:58 GMT]]></title><description><![CDATA[<p>SKB schrieb:</p>
<blockquote>
<p>Nächste Frage ist nun, wie bastel ich denn da eine &quot;Funktion&quot; (oder wie es unter WinAPI auch genannt wird) ein, die ständig ausgeführt werden soll?</p>
</blockquote>
<p>am einfachsten ist wohl, wenn du dafür einen separaten thread startest (mit einem Sleep(10) in der schleife, damit dein windows nicht so langsam wird).<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337613</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Thu, 02 Aug 2007 19:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to Früher Konsolenanwendung - Heute WinAPI? on Fri, 03 Aug 2007 06:59:18 GMT]]></title><description><![CDATA[<p>Wieso sollte man da extra einen Thread für laufen lassen? Für die Clientseite IMHO unnötig, maximal auf der Serverseite nötig (obwohl es da ja auch verschiedene Strategien gibt).</p>
<p>Prinzipiell läuft die Mainloop, bis die WM_QUIT-Nachricht kommt. Dort arbeitest du ja die Nachrichten ab. An der Stelle kann man einfach eigene Funktionen einbringen.</p>
<p>Beispiel (ohne Anspruch auf optimale Lösung):</p>
<pre><code class="language-cpp">while (GetMessage(&amp;msg, NULL, 0, 0)){
		if (msg.message == WM_QUIT) 
		{
			break; // Raus aus der Schleife, um zu beenden.
		} 
		else 
		{
			// Nachrichten abarbeiten.
			TranslateMessage(&amp;msg);
			DispatchMessage(&amp;msg);
		}
		Sleep(1); // Ganz kurz warten, um die Auslastung zu verringern.

		// An dieser Stelle kann man weitere Dinge machen, wie z.B. den
		// Socket fragen, ob eine Nachricht ansteht.
	}
</code></pre>
<p>gruß<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337800</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Fri, 03 Aug 2007 06:59:18 GMT</pubDate></item><item><title><![CDATA[Reply to Früher Konsolenanwendung - Heute WinAPI? on Fri, 03 Aug 2007 11:33:01 GMT]]></title><description><![CDATA[<p>Imho ist das komisch so <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=";D"
      alt="😉"
    /><br />
GetMessage() blockiert eh solange bis ne neue Nachricht kommt.<br />
Das Sleep() sorgt eher dafür das die eigene Anwendung träger wird.</p>
<p>Wenn es hier um einen Chat-Client geht sind da asynchrone Sockets viel interessanter. ( WSAAsyncSelect() etc...)<br />
Dann muss man nicht ständig ne Schleife laufen lassen und gucken ob evtl. was zu empfangen da ist sondern bekommt von Windows ne Nachricht geschickt wenn neue Bytes da sind...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338065</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 03 Aug 2007 11:33:01 GMT</pubDate></item><item><title><![CDATA[Reply to Früher Konsolenanwendung - Heute WinAPI? on Fri, 03 Aug 2007 13:19:56 GMT]]></title><description><![CDATA[<p>Hm, ja, man könnte mit PeekMessage arbeiten. Aber in irgendeiner Schleife muss ich sein, und wenn die ständig durchgerödelt wird, hab ich u.U. auch dicke Auslastung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338177</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Fri, 03 Aug 2007 13:19:56 GMT</pubDate></item></channel></rss>