<?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[Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI]]></title><description><![CDATA[<p>Alle Funktionen laufen fehlerfrei und sind sicher nicht perfekt aber ich bin ja auch noch Anfänger.<br />
Ob ihr es glaubt oder cniht, es ist für einen Anfänger verdammt schwer eine Stelle im Web zu finde wo genau diese eigentlich Standard-probleme gelöst werden. Ich habe 3 Std. gesucht und landete dann auf einer wunderschönen VB-Seite auf der ich endlich auch den VB_Code fürs auslesen der local-IP fand und habe alles in C portiert.</p>
<p>Hier die Funktionen für Interessierte.</p>
<p>Prüft ob Internetverbindung besteht...</p>
<pre><code class="language-cpp">bool isInet()
{
    HMODULE hDLL; 
    DLLFUNCTION1PROC dllf = NULL; 

    hDLL = LoadLibrary(&quot;WININET.DLL&quot;); 
    if (hDLL == NULL) { 
        return false; 
    } 
    dllf = (DLLFUNCTION1PROC)GetProcAddress(hDLL, TEXT(&quot;InternetGetConnectedState&quot;)); 
    if (dllf == NULL) { 
        return false; 
    } 

	DWORD fff;
    if((dllf(&amp;fff, NULL)))
		{
		FreeLibrary(hDLL); 
		return true;
		}
	FreeLibrary(hDLL); 
	return false;
}
</code></pre>
<p>Löst Hostnamen auf und gibt Strings mit der IP in der üblichen Form wieder.</p>
<pre><code class="language-cpp">bool hostname2ip(char* hostname, SOCKADDR_IN* addr)
{
unsigned long ip;
HOSTENT* he;

ip=inet_addr(hostname);
if(ip!=INADDR_NONE)
	{
	addr-&gt;sin_addr.s_addr=ip;
	return true;
	}
else
	{
	he=gethostbyname(hostname);
	CopyMemory(&amp;(addr-&gt;sin_addr),he-&gt;h_addr_list[0]+4,4);
	return false;
	}
}
</code></pre>
<p>Returned die aktuelle externe IP des lokalen Rechners...</p>
<pre><code class="language-cpp">TCHAR* getIP()
{
TCHAR* pTC = new TCHAR[255];
ZeroMemory(pTC);

if(!(isInet()))    //Wenn keine inet-connection dann localhost weiterleiten
    {
    lstrcpy(pTC, TEXT(&quot;127.0.0.1&quot;));
    return pTC;
    }

gethostname(pTC, 255);
SOCKADDR_IN addr;
hostname2ip(pTC, &amp;addr);
lstrcpy(pTC,inet_ntoa(addr.sin_addr));
return pTC;
}
</code></pre>
<p><strong>Vergesst nicht mit delete[] pTCHAR; den von den Funktionen allokierten speicher wieder freizugeben, nachdem ihr mit den zurückgelieferten Pointern fertig seit.</strong></p>
<p>Cu all..<br />
Mfg..</p>
<p>PS: Das alles ist noch 'vor-Code' den ich nicht überarbeitet habe, wollte nur mit den Interessierten geteilt haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77199/hier-3-nützliche-kleine-funktionen-fürs-internet-mit-winapi</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 18:30:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77199.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Jun 2004 13:50:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI on Fri, 18 Jun 2004 13:50:17 GMT]]></title><description><![CDATA[<p>Alle Funktionen laufen fehlerfrei und sind sicher nicht perfekt aber ich bin ja auch noch Anfänger.<br />
Ob ihr es glaubt oder cniht, es ist für einen Anfänger verdammt schwer eine Stelle im Web zu finde wo genau diese eigentlich Standard-probleme gelöst werden. Ich habe 3 Std. gesucht und landete dann auf einer wunderschönen VB-Seite auf der ich endlich auch den VB_Code fürs auslesen der local-IP fand und habe alles in C portiert.</p>
<p>Hier die Funktionen für Interessierte.</p>
<p>Prüft ob Internetverbindung besteht...</p>
<pre><code class="language-cpp">bool isInet()
{
    HMODULE hDLL; 
    DLLFUNCTION1PROC dllf = NULL; 

    hDLL = LoadLibrary(&quot;WININET.DLL&quot;); 
    if (hDLL == NULL) { 
        return false; 
    } 
    dllf = (DLLFUNCTION1PROC)GetProcAddress(hDLL, TEXT(&quot;InternetGetConnectedState&quot;)); 
    if (dllf == NULL) { 
        return false; 
    } 

	DWORD fff;
    if((dllf(&amp;fff, NULL)))
		{
		FreeLibrary(hDLL); 
		return true;
		}
	FreeLibrary(hDLL); 
	return false;
}
</code></pre>
<p>Löst Hostnamen auf und gibt Strings mit der IP in der üblichen Form wieder.</p>
<pre><code class="language-cpp">bool hostname2ip(char* hostname, SOCKADDR_IN* addr)
{
unsigned long ip;
HOSTENT* he;

ip=inet_addr(hostname);
if(ip!=INADDR_NONE)
	{
	addr-&gt;sin_addr.s_addr=ip;
	return true;
	}
else
	{
	he=gethostbyname(hostname);
	CopyMemory(&amp;(addr-&gt;sin_addr),he-&gt;h_addr_list[0]+4,4);
	return false;
	}
}
</code></pre>
<p>Returned die aktuelle externe IP des lokalen Rechners...</p>
<pre><code class="language-cpp">TCHAR* getIP()
{
TCHAR* pTC = new TCHAR[255];
ZeroMemory(pTC);

if(!(isInet()))    //Wenn keine inet-connection dann localhost weiterleiten
    {
    lstrcpy(pTC, TEXT(&quot;127.0.0.1&quot;));
    return pTC;
    }

gethostname(pTC, 255);
SOCKADDR_IN addr;
hostname2ip(pTC, &amp;addr);
lstrcpy(pTC,inet_ntoa(addr.sin_addr));
return pTC;
}
</code></pre>
<p><strong>Vergesst nicht mit delete[] pTCHAR; den von den Funktionen allokierten speicher wieder freizugeben, nachdem ihr mit den zurückgelieferten Pointern fertig seit.</strong></p>
<p>Cu all..<br />
Mfg..</p>
<p>PS: Das alles ist noch 'vor-Code' den ich nicht überarbeitet habe, wollte nur mit den Interessierten geteilt haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/543219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543219</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Fri, 18 Jun 2004 13:50:17 GMT</pubDate></item><item><title><![CDATA[Reply to Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI on Fri, 18 Jun 2004 14:30:13 GMT]]></title><description><![CDATA[<p>Da sind paar Fehler die den Code unausführbar machen. Diese 2 fehler wurden absichtlich implementiert. Damit das klar ist ! <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/543253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543253</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Fri, 18 Jun 2004 14:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI on Fri, 18 Jun 2004 15:45:01 GMT]]></title><description><![CDATA[<p>Allerliebst! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/543297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543297</guid><dc:creator><![CDATA[dorotrp]]></dc:creator><pubDate>Fri, 18 Jun 2004 15:45:01 GMT</pubDate></item><item><title><![CDATA[Reply to Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI on Fri, 18 Jun 2004 15:59:25 GMT]]></title><description><![CDATA[<p>Ich hätte mir nich mehr die Mühe gemacht die funktion via LoadLibrary(),... aufzurufen, da sie eh auf jedem Windows-Rechner ab Win95 mit IE 4 vorhanden ist.<br />
Zudem liefert die Funktion z.B. bei iNet-Zugang über LAN nicht immer das gewünschte Ergebnis...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/543307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543307</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 18 Jun 2004 15:59:25 GMT</pubDate></item><item><title><![CDATA[Reply to Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI on Fri, 18 Jun 2004 16:22:41 GMT]]></title><description><![CDATA[<p>geeky schrieb:</p>
<blockquote>
<p>Ich hätte mir nich mehr die Mühe gemacht die funktion via LoadLibrary(),... aufzurufen, da sie eh auf jedem Windows-Rechner ab Win95 mit IE 4 vorhanden ist.<br />
Zudem liefert die Funktion z.B. bei iNet-Zugang über LAN nicht immer das gewünschte Ergebnis...</p>
</blockquote>
<p>für mien Programm macht es NICHTS aus ob LAN oder Internet. Es muss nur wissen dass eins von beiden verfügbar ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/543332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543332</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Fri, 18 Jun 2004 16:22:41 GMT</pubDate></item><item><title><![CDATA[Reply to Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI on Mon, 27 Sep 2004 14:03:19 GMT]]></title><description><![CDATA[<p>Danke fürs posten!!!!<br />
Du hast recht man braucht ewig um solche Funktionen zu finden... <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="😞"
    /><br />
Bin auch nur zufällig drauf gestoßen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/615973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/615973</guid><dc:creator><![CDATA[XCooperation]]></dc:creator><pubDate>Mon, 27 Sep 2004 14:03:19 GMT</pubDate></item><item><title><![CDATA[Reply to Hier 3 nützliche kleine Funktionen fürs Internet mit WINAPI on Mon, 27 Sep 2004 14:18:03 GMT]]></title><description><![CDATA[<p>Tolga schrieb:</p>
<blockquote>
<p>Prüft ob Internetverbindung besteht...</p>
</blockquote>
<p><a href="http://www.marian-aldenhoevel.de/dojo/internet.html" rel="nofollow">http://www.marian-aldenhoevel.de/dojo/internet.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/615990</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/615990</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 27 Sep 2004 14:18:03 GMT</pubDate></item></channel></rss>