Windows Message bei Internetverbindung



  • Der Doku nach sieht es aber so aus, als ob man mit RasConnectionNotification wirklich quasi eine Benachrichtigung (eben in Form eines Events, das in den Signaled-Status wechselt) bekommt 😉
    Auf das kann man dann ja mit WaitForSingleObject warten 🙂



  • Yeahb, da muss ich mich korrigieren. Flenders, hast Recht. Gut zu wissen - allerdings find ich einen Timer 10 mal schneller und einfacher... Nun kommts auf den Autor dieses Postings druf an.

    🙄



  • ChrisK schrieb:

    Yeahb, da muss ich mich korrigieren. Flenders, hast Recht. Gut zu wissen - allerdings find ich einen Timer 10 mal schneller und einfacher... Nun kommts auf den Autor dieses Postings druf an.

    Mit anderen Worten:
    Du gehst also jede Minute bei Dir zuhause an die Tür um zu schauen, ob wer zu Besuch kommt anstatt auf die Klingel zu warten, und findest das auch noch "einfacher"?

    Auch 'ne Möglichkeit... 🙄 🙄 🙄



  • RasConnectionNotification sieht gut aus, mal sehen ob ich damit was anfangen kann 🙂
    Was ich suche ist wirkliche eine Nachricht oder was ähnliches, und keine Funktion die nachschaut ob ne Verbindung besteht.
    Hepi dein Vergleich mit der Tür und Klingel gefällt mir 🙂 , deshalb versuch ichs mal mit RasConnectionNotification
    Vielen Dank für Eure schnelle Hilfe



  • Helmut Born schrieb:

    Hepi dein Vergleich mit der Tür und Klingel gefällt mir

    Nun, die Blumen muß ich an flenders weitergeben, er hat diesen Vergleich für immer und ewig in meinen rechten Hirnlappen eingebrannt... 😃



  • Hepi, Du interpretierst fatal falsch.
    Ich gehe nicht vor die Türe sondern mein Diener. Dann ist der nicht so dick, dass er 1 Minute braucht, sondern er braucht im Verhältnis 5 Sekunden Abstände. Und das ist spitze. Bevor der Gast noch klingelt, sagt mir das mein Diener, der für beide Wege 10 Sekunden braucht (plus minus ein paar hundertstel, denn er muss beim hinrennen auch abbremsen (siehe Vektorrechnung) und umkehren und wieder beschleunigen), macht aber nichts, Timer in der Programmierung sind auch nicht exakt.

    So, jetzt sag mir mal, auf die Programmierung bezogen, das ist nicht einfacher und kompfortabler (Diener, sehr schnell).

    Ohne Timer, das heißt Diener, müsste ich hier lange rumprobieren, Kamera draußen aufbauen, immer draufstarren... usw.

    😃 😃



  • Die Variante mit einem Event ist aber sicher Ressourcen-schonender und für meine Begriffe auch "eleganter" 😉
    Um dein Beispiel fortzusetzen: Mein Diener (Windows) steht immer vor der Tür und ruft mir zu, sobald jemand kommt 🤡



  • ChrisK schrieb:

    Hepi, Du interpretierst fatal falsch.
    Ich gehe nicht vor die Türe sondern mein Diener. Dann ist der nicht so dick, dass er 1 Minute braucht, sondern er braucht im Verhältnis 5 Sekunden Abstände. Und das ist spitze. Bevor der Gast noch klingelt, sagt mir das mein Diener, der für beide Wege 10 Sekunden braucht (plus minus ein paar hundertstel, denn er muss beim hinrennen auch abbremsen (siehe Vektorrechnung) und umkehren und wieder beschleunigen), macht aber nichts, Timer in der Programmierung sind auch nicht exakt.

    So, jetzt sag mir mal, auf die Programmierung bezogen, das ist nicht einfacher und kompfortabler (Diener, sehr schnell).

    Ohne Timer, das heißt Diener, müsste ich hier lange rumprobieren, Kamera draußen aufbauen, immer draufstarren... usw.

    Um bei Deinem Terminus zu bleiben:
    ChrisK, du programmierst fatal falsch.

    Du bombardierst also Dein Programm lieber mit 5 Sekunden Timer-Nachrichten, anstatt es komplett CPU-schonend schlafen zu legen?
    Noch dazu kannst Du Dir über das "sofort" bei einem Timer nie sicher sein!

    Eine WM_TIMER hat mit die niedrigste Priorität in der MessageQueue. Soll heißen: Nahezu jede Nachricht wird eher abgearbeitet als Deine WM_TIMER.

    Dann:
    Gehen wir mal davon aus, Du hast einen 5 Sekunden Timer eingerichtet.
    Eben gerade kam erneut eine WM_TIMER-Nachricht und Dein Programm verläßt gerade die entspr. Funktion zur Behandlung jener.
    Nun just in diesem Moment verbindet sich der Anwender mit dem Internet.

    Dein Programm aber bekommt diesen Verbindungsaufbau in frühestens (WM_TIMER sehr ungenau, Gründe siehe oben) 5 Sekunden mit!
    Super Design, und vom Entwickler auch noch als "einfacher und schneller" angepriesen.

    Noch dazu braucht Dein Programm für den Timer ein Fenster, was bei der Event-Methode nicht nötig ist.

    Dabei wäre es so einfach und viel resourcenschonender möglich:
    Event erstellt, Event mit RasConnectionNotification verknüpft, Programm mit WaitForSingleObject auf diesen Event komplett schlafen gelegt.

    Fertig!

    Frißt keine Resourcen (muß ja nicht alle 5 Sekunden seine Nachrichtenschleife durchlaufen), denn "nicht zuteilungsreife" Threads belegen keine CPU-Zeit und wird in genau dem Moment aktiv, sobald eine Internetverbindung aufgebaut wird.

    Außerdem fragt hier jemand nach einer Benachrichtigung, sobald man Verbindung ins Internet aufbaut, und Du kommst mit Polling an... Deine Antwort geht also völlig an der Fragestellung vorbei...

    Lies Dir mal dieses Buch durch:
    Microsoft Windows Programmierung für Experten | ISBN: 3860636154
    Dann wirst Du einige Sachen besser verstehen und Dich vom Polling-System verabschieden...



  • Hepi, ich weiß zwar nicht "wie" schlecht Dein Computer ist, aber da 99% der Menschen in D. mehr als 2000 MHz haben, brauche ich bestimmt in manchen Fällen nicht zu verzichten. Klar, wenn solche wie Du ein Programm wollen, sollte man auf jeden Timer verzichten, da sonst der PC nicht mehr mitkommt, so kommts mir gerade vor.

    Das mit dem Buch etc. (ab dem 3. oder 4. Satz hab ich Dein Post nicht mehr weitergelesen), ist echt lustig gewesen, bisschen Spaß muss auch mal sein.

    Es ist auf jeden Fall eine Alternative, das ist einfach nicht auszuschließen. Ich selber ziehe Benachrichtungen von Windows dafür auch vor... Vielleicht ließt Du die Posts auch nicht richtig, keine Ahnung, aber pass bitte ein wenig auf, was Du sagst.



  • ChrisK schrieb:

    aber pass bitte ein wenig auf, was Du sagst.

    ...sonst was?

    Muß ich mir dann alle Deine Codeschnipsel ansehen, oder was?

    Fakt ist:
    Jemand fragt nach einer Benachrichtigung, und Du kommst mit Polling. Auch das ständige Wiederholen Deiner (vollkommen an der Frage vorbeigehenden) Antworten macht Deine Antwort nicht "richtiger".



  • Deine letzten beiden Posts ebenfalls. Anstatt der eigentlichen Fragestellung nachzugehen und einem Fragesteller zu helfen fängst Du an, andere anzugreifen.

    Fakt ist: Du akzeptierst keine Alternativen. Es gibt allerdings überall (!) Alternativen, jetzt mal garnicht nur auf die Nachricht bezogen, die heir gesucht wurde. Tja ich würde sagen das ist schlecht, vielleicht bist Du nicht sehr kreativ, aber da kann man jetzt nichts mehr machen denke ich.

    ChrisK schrieb:
    aber pass bitte ein wenig auf, was Du sagst.

    ...sonst was?

    Muß ich mir dann alle Deine Codeschnipsel ansehen, oder was?

    Fang bitte nicht an - wie fast jedes Mal - in das kindische "ne du bist doof." - "ne du!" - Prinzip hineinzurutschen.
    ...sonst was: ja sonst noch was: es war ernst gemeint.

    Es ist auf jeden Fall eine Alternative, das ist einfach nicht auszuschließen.

    Das ist hundert Pro klar, dass es so ist, auch wenn es nicht die Gewinnbringenste Lösung ist, aber es ist so. Da Du es doch abstreiten willst denke ich, dass Du einfach denkst, Du wärst der Allwissenste hier... Sorry, aber das kommt echt so rüber, muss ja auch so sein, denn es kann nicht abgetritten werden. Wie dem auch sei, Helmut Born hat Hilfe bekommen, für mich ist das Thema abgeschlossen.



  • ChrisK schrieb:

    Deine letzten beiden Posts ebenfalls. Anstatt der eigentlichen Fragestellung nachzugehen und einem Fragesteller zu helfen fängst Du an, andere anzugreifen.

    Nur wer sich angreifen läßt, ist angreifbar...
    Was bewegt Dich eigentlich dazu, zu einer bereits geposteten (nebenbei bemerkt: richtigen!) Lösung noch eine vollkommen unnütze (in diesem Fall) dazu zu posten?

    Mußt Du wirklich auf solch armselige Mittel zurückgreifen, um Deine WebSite bekannter zu machen? Ich dachte eigentlich, das das nicht nötig wäre...

    ChrisK schrieb:

    Du akzeptierst keine Alternativen. Es gibt allerdings überall (!) Alternativen, jetzt mal garnicht nur auf die Nachricht bezogen, die heir gesucht wurde. Tja ich würde sagen das ist schlecht, vielleicht bist Du nicht sehr kreativ, aber da kann man jetzt nichts mehr machen denke ich.

    Deine (schlichtweg an der Frage vorbeigehende Antwort) jetzt auch noch als "Alternative" anbieten zu wollen, ist ..........!

    ChrisK schrieb:

    Fang bitte nicht an - wie fast jedes Mal - in das kindische "ne du bist doof." - "ne du!" - Prinzip hineinzurutschen.

    Gibt es Links für derartiges Verhalten meinerseits? Ich meine, "fast jedes Mal", da sollten sich doch sicherlich Beispiele finden lassen, oder?

    ChrisK schrieb:

    Das ist hundert Pro klar, dass es so ist, auch wenn es nicht die Gewinnbringenste Lösung ist, aber es ist so. Da Du es doch abstreiten willst denke ich, dass Du einfach denkst, Du wärst der Allwissenste hier... Sorry, aber das kommt echt so rüber, muss ja auch so sein, denn es kann nicht abgetritten werden.

    Weißt Du, mir geht hier nur Deine schlichtweg plumpe Art, mit der Du meinst, deine WebSite promoten zu müssen, auf den Keks.

    Wer Beispiele verlangt, muß selber welche präsentieren können, also:
    Lösung längst gepostet, ChrisK legt nach
    Link zur FAQ gepostet, reicht scheinbar nicht
    Ein Code-Beispiel reicht nicht, muß noch eins von win-api.com dahinter
    Windows-Reboot, ohne win-api.com? Das geht doch nicht...
    und so weiter...

    Scheißegal, ob's zur Frage paßt oder die Frage längst beantwortet ist, hauptsache erstmal nen Link zu win-api.com gepostet, gell?



  • Also in diesem Punkt muss ich Hepi leider voll zustimmen - deine Art und Weise, wie du versuchst deine Homepage bekannt zu machen kann einem mit der Zeit wirklich auf die Nerven gehen.
    Vorallem (das ist jetzt nur eine Vermutung), dass du auf das Problem eines Users hin ein Tutorial erstellst (dagegen ist absolut nichts einzuwenden, wenn dann positiv) und dann den User anpöbelst, warum er nicht erst auf deine Seite geschaut habe 👎



  • Anhang:

    Sorry dass ich nochmal was hinzufügen muss aber flenders schrieb in dem Posting 'die Webseite bekannt machen'. Das ist meine Absicht nicht, bisher wollte ich Usern helfen mit der Page. Dass ich zwei mal einen Tipp und Trick (kein Tutorial flender) erstellt habe ist sicherlich keine Straftat. Die anderen sind schon immer verfügbar gewesen und sicherlich nicht 'um sie bekannt zu machen'. Man kann prima darauf verweisen anstatt über Jahre hinweg Positngs zu beantworten die schon 20 mal (oder mehr mals) beantwortet wurden.

    http://www.c-plusplus.net/forum/viewtopic.php?t=70794

    Sie ist schon bekannt genug 'für den Anfang', falls Ihr das wissen wolltet.

    <Die letzten beiden Zeilen mussten wegen USK-rechtlichen Gründen entfernt werden> :p



  • So, jetzt mach ich den Thread aber wirklich zu 😉


Anmelden zum Antworten