<?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 funktioniert RasConnectionNotification]]></title><description><![CDATA[<p>hallo!</p>
<p>ich bins mal wieder.</p>
<p>habe hier im forum gelesen, das man RasConnectionNotification benutzen soll, wenn man will das z.b. ein programm automatisch nach einer neuen version im internet gucken soll sobald die verbindung aufgebaut wird.</p>
<p>hab nun google und msdn gequält aber immer nur die beschreibung für die funktion an sich gefunden. dies hilft mir leider nicht sehr weiter.<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> könnte vielleicht jemand ein bisl code posten wie ich das einsetze?</p>
<p>thx <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/topic/98580/wie-funktioniert-rasconnectionnotification</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 03:45:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/98580.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 Jan 2005 15:24:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 15:24:40 GMT]]></title><description><![CDATA[<p>hallo!</p>
<p>ich bins mal wieder.</p>
<p>habe hier im forum gelesen, das man RasConnectionNotification benutzen soll, wenn man will das z.b. ein programm automatisch nach einer neuen version im internet gucken soll sobald die verbindung aufgebaut wird.</p>
<p>hab nun google und msdn gequält aber immer nur die beschreibung für die funktion an sich gefunden. dies hilft mir leider nicht sehr weiter.<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> könnte vielleicht jemand ein bisl code posten wie ich das einsetze?</p>
<p>thx <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/701462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701462</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Thu, 20 Jan 2005 15:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 15:46:27 GMT]]></title><description><![CDATA[<p>okay, ich denke ich habs.<br />
irgendwann hat google doch was nützliches ausgespuckt <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="🙂"
    /><br />
ich hab folgende seite gefunden wos das von mir gesucht gibt:</p>
<p><a href="http://www.codeguru.com/Cpp/I-N/internet/dial-up/article.php/c6161/" rel="nofollow">http://www.codeguru.com/Cpp/I-N/internet/dial-up/article.php/c6161/</a></p>
<p>auf bald</p>
]]></description><link>https://www.c-plusplus.net/forum/post/701499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701499</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Thu, 20 Jan 2005 15:46:27 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 17:55:42 GMT]]></title><description><![CDATA[<p>mist das klappt nicht!</p>
<p>kann mir vielleicht doch jemand helfen??<br />
das oben genannte prog sagt *immer* das es connected ist.</p>
<p>vielen dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/701687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701687</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Thu, 20 Jan 2005 17:55:42 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 18:07:48 GMT]]></title><description><![CDATA[<p>Wie gehst du denn ins Internet? Direkt per DFÜ, oder über einen Router o.ä.?</p>
<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/701703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701703</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 20 Jan 2005 18:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 18:24:50 GMT]]></title><description><![CDATA[<p>lol. na besten dank. also gibt es keine ultimative lösung dafür ja?<br />
und wie löst man dann sowas am geschicktesten?<br />
wäre es möglich erst RasConnectionNotification() zu benutzten, und wenn dies<br />
fehlschlägt, davon auszugehen das der rechner über LAN ins internet geht und<br />
dementsprechend den ping benutzen oder am besten sein lassen, bzw. immer bei programmstart eine verbindung (vom user) herstellen zu lassen???</p>
<p>die geschichte wer im übrigen echt gut. muß ich gleich bookmarken <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="🙂"
    /><br />
thx</p>
<p>-edit: achja ich geh per dsl mit dfü ins internet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/701722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701722</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Thu, 20 Jan 2005 18:24:50 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 20:14:03 GMT]]></title><description><![CDATA[<p>Wie sieht denn dein Code aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/701833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701833</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 20 Jan 2005 20:14:03 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 20:18:46 GMT]]></title><description><![CDATA[<p>der sieht so aus:</p>
<pre><code class="language-cpp">#define RASCN_Connection 0x00000001

#include &lt;ras.h&gt;

class ConnectionNotify {
      public:

             ConnectionNotify() {
                 SecAtt.nLength = sizeof(SECURITY_ATTRIBUTES);
                 SecAtt.lpSecurityDescriptor = NULL;
                 SecAtt.bInheritHandle = FALSE;
                 hActive = CreateEvent(&amp;SecAtt, TRUE, FALSE, &quot;Connect&quot;);
                 hInst = LoadLibrary(&quot;rasapi32.dll&quot;);
             }

             // prüft ob verbindung besteht
             bool verbindung() {
                  RasNotify = (DWORD (WINAPI *)(HRASCONN, HANDLE, DWORD)) GetProcAddress ((HMODULE) hInst, &quot;RasConnectionNotificationA&quot;);
                  DWORD ret = RasNotify((HRASCONN)INVALID_HANDLE_VALUE, hActive, RASCN_Connection);
                  if(ret == 0) {
                         WaitForSingleObject(hActive, INFINITE);
                         return true;
                  }
                  else return false;
             }

             ~ConnectionNotify() {
                 CloseHandle(hActive);
                 CloseHandle(hInst);                 
             }

      private:
              DWORD (WINAPI *RasNotify)(HRASCONN, HANDLE, DWORD);
              SECURITY_ATTRIBUTES SecAtt;
              HANDLE hActive;
              HANDLE hInst;
};
</code></pre>
<p>also das benutzerprogramm soll die methode verbindung() aufrufen um zu sehen ob eine verbindung ins internet besteht...</p>
<p>thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/701838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701838</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Thu, 20 Jan 2005 20:18:46 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 21:00:05 GMT]]></title><description><![CDATA[<p>Du hast die Funktion und auch WaitForSingleObject etwas missverstanden. RasConnectionNotification informiert dich nur, wenn sich was an der Verbindung ändert (z.B. Auf- oder Abbau) - und WaitForSingleObject (so wie du es verwendest - INFINITE) legt deinen Thread so lange schlafen, bis das Event-Handle wirklich signalisiert wird.</p>
<p>Vielleicht findest du ja hier noch was passendes:<br />
- <a href="http://msdn.microsoft.com/library/en-us/wininet/wininet/internetgetconnectedstate.asp" rel="nofollow">http://msdn.microsoft.com/library/en-us/wininet/wininet/internetgetconnectedstate.asp</a><br />
- <a href="http://msdn.microsoft.com/library/en-us/wininet/wininet/enabling_internet_functionality.asp" rel="nofollow">http://msdn.microsoft.com/library/en-us/wininet/wininet/enabling_internet_functionality.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/701877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701877</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 20 Jan 2005 21:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Thu, 20 Jan 2005 21:18:27 GMT]]></title><description><![CDATA[<p>vielen dank erstmal!! <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>
<p>ich werd die obigen links mal probieren.<br />
das mit InternetGetConnectedState hört sich ja gut an (auch wenn der &quot;meister&quot; das sicher anderer meinung wäre <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="😉"
    /> und sein schüler da wieder steine haken müßte <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="😃"
    /> ) wenns nich funzt meld ich mich wieder</p>
<p>der obige code ist so verwurzelt weil ich in von der website genommen hab die ich oben angegeben hab. wollte es halt testen...</p>
<p>thx nochmal! <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="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/701895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/701895</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Thu, 20 Jan 2005 21:18:27 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Fri, 21 Jan 2005 10:27:16 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1644">@flenders</a>:</p>
<p>ich hab jetzt noch mal folgende möglichkeit (welche ich grade teste)</p>
<p>ich prüfe mit internetgetconnectionstate ober der rechner auf lan eingestellt ist.<br />
wenn ja, ok internetverbindung verfügbar<br />
wenn nein prüfe ich alle ips des rechners ob diese möglicherweise private ips<br />
sind.<br />
wenn alle private sind, hat der rechner kein internet/ist nicht verbunden<br />
wenn auch nur eine nicht privat ist, ist er gerade online</p>
<p>das kostet zwar etwas zeit und cpu aber es funzt doch oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
zumindest waren meine tests sehr vielversprechend...</p>
<p>ich hoffe ich hab da keinen denkfehler.<br />
ansonsten wäre dieser thread nicht mal was für die faq??</p>
<p>ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/702185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/702185</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Fri, 21 Jan 2005 10:27:16 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Fri, 21 Jan 2005 10:50:31 GMT]]></title><description><![CDATA[<p>na gut jedesmal im worst case 16843002 ip adressen zu testen (und das für jede ip des rechners) ist wohl auch nicht der hit.<br />
ich glaube der meister hatte recht <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 />
son mist <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>
]]></description><link>https://www.c-plusplus.net/forum/post/702213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/702213</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Fri, 21 Jan 2005 10:50:31 GMT</pubDate></item><item><title><![CDATA[Reply to wie funktioniert RasConnectionNotification on Fri, 21 Jan 2005 11:43:23 GMT]]></title><description><![CDATA[<p>so. dies ist jetzt mein definitiv letztes posting zu dem thema.<br />
ich habe nach dem prinzip wie oben beschrieben (private ips) folgenden code entwickelt, der für meine zwecke absolut perfekt ist.</p>
<pre><code class="language-cpp">/** Ermittelt Hostnamen und alle IPs des Rechners und gibt diese als String zurück */
std::string GibAlleIPs() {
    WORD wVersionRequested;
    WSADATA wsaData;
    char name[255];
    int n;
    PHOSTENT hostinfo;
    wVersionRequested=MAKEWORD(2,2);
    char *ip;
    std::string s=&quot;&quot;;

    if (WSAStartup(wVersionRequested,&amp;wsaData)==0) {
        if (gethostname(name,sizeof(name))==0) {
            std::string tmp=name;
            s=&quot;\r\nHostname: &quot;+tmp+&quot;\r\nIPs:&quot;;

            if ((hostinfo=gethostbyname(name))!=NULL) {
                for (n=0; hostinfo-&gt;h_addr_list[n];n++) {
                    ip=inet_ntoa(*(struct in_addr *)hostinfo-&gt;h_addr_list[n]);
                    s=s+&quot; &quot;+ip;
                }
            }
        }
    }
    else WSACleanup();

    return s;
}

/* Ermittelt ob eine Internetverbindung besteht. */
bool HatInternetVerbindung() {

     DWORD status; 
     bool ergebnis=InternetGetConnectedState(&amp;status,0);
     if (ergebnis==true) if (status==INTERNET_CONNECTION_LAN) return true;

     std::string ipliste=GibAlleIPs();
     int pos;
     pos=ipliste.rfind(&quot;:&quot;);
     ipliste=ipliste.substr(pos+2,ipliste.length());

     int anzahlips=0;
     int anzahllanips=0;     
     char tmp[4];     
     bool gefunden=false;
     std::string ip=&quot;&quot;;
     std::string testip=&quot;&quot;;
     while ((pos=ipliste.find(&quot; &quot;))&gt;0) {
           gefunden=false;
           ip=ipliste.substr(0,pos);
           ipliste=ipliste.substr(pos+1,ipliste.length());
           anzahlips++;

           // 127.0.0.0 - 127.0.0.255
           pos=ip.rfind(&quot;.&quot;);
           ip=ip.substr(0,pos);
           testip=&quot;127.0.0&quot;;
           if (ip==testip) return false;

           // 192.168.0.0 - 192.168.255.255           
           pos=ip.rfind(&quot;.&quot;);
           ip=ip.substr(0,pos);           
           testip=&quot;192.168&quot;;
           if (ip==testip) {
              anzahllanips++;
              gefunden=true;
           }

           // 172.16.0.0 - 172.31.255.255
           if (!gefunden) 
              for (int i=16; i&lt;=31; i++) {
                  testip=&quot;172.&quot;;
                  itoa(i,tmp,10);
                  testip.append(tmp);
                  if (ip==testip) {
                     anzahllanips++;
                     i=32;
                     gefunden=true;
                  }
              }

           // 10.0.0.0 - 10.255.255.255
           if (!gefunden) {
              pos=ip.rfind(&quot;.&quot;);
              ip=ip.substr(0,pos);           
              testip=&quot;10&quot;;
              if (ip==testip) {
                 anzahllanips++;
              }              
           }
     }

     // Letzte IP testen
     gefunden=false;     
     ip=ipliste;     
     anzahlips++;

     // 127.0.0.0 - 127.0.0.255
     pos=ip.rfind(&quot;.&quot;);
     ip=ip.substr(0,pos);
     testip=&quot;127.0.0&quot;;
     if (ip==testip) return false;

     // 192.168.0.0 - 192.168.255.255           
     pos=ip.rfind(&quot;.&quot;);
     ip=ip.substr(0,pos);           
     testip=&quot;192.168&quot;;
     if (ip==testip) {
       anzahllanips++;
       gefunden=true;
     }

     // 172.16.0.0 - 172.31.255.255
     if (!gefunden) 
       for (int i=16; i&lt;=31; i++) {
           testip=&quot;172.&quot;;
           itoa(i,tmp,10);
           testip.append(tmp);
           if (ip==testip) {
              anzahllanips++;
              i=32;
              gefunden=true;
           }
       }

     // 10.0.0.0 - 10.255.255.255
     if (!gefunden) {
       pos=ip.rfind(&quot;.&quot;);
       ip=ip.substr(0,pos);           
       testip=&quot;10&quot;;
       if (ip==testip) anzahllanips++;
     }

     if (anzahllanips==anzahlips) return false;
     else return true;
}
</code></pre>
<p>juhu! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/702272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/702272</guid><dc:creator><![CDATA[sn0b]]></dc:creator><pubDate>Fri, 21 Jan 2005 11:43:23 GMT</pubDate></item></channel></rss>