tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
1617
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jan 2003
    Ort
    Roßdorf (Hessen)
    Beiträge
    196
    kann mir mal einer sagen wieso folgendes programm nicht so funktioniert, wie ich es will?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    #include <stdio.h>
    #include <windows.h>
     
    int main(int argc, char **argv) 
    {
        MSG msg;
        HWND hwnd = FindWindow(NULL, "Test");
        if(hwnd == NULL)
            return 1;
     
        while(true)
        {
            printf("Searching for Messages...");
            if(PeekMessage(&msg, hwnd, 0, 0, PM_NOREMOVE))
            {
                printf("\nGetting Message...");
                GetMessage(&msg, hwnd, 0, 0);
                printf("%i (wParam: %i), Time: %i\nWaiting...\n", msg.message, msg.wParam, msg.time);
                Sleep(5000);
            }
            else
            {
                printf("No Message.\n");
            }
        }
     
        return 0;
    }

    ich hab mit diesem programm vor, die nachrichten eines anderen programmes abzufangen, dummer weisse sagt mir mein programm "No Message", ich weiss nicht warum.. das andere programm, was abgefragt wird, hat immer eine message, weil ein Timer eingeschaltet ist und der jede 100ms aufgerufen wird.... und auch wenn ich auf einen button klicke sagt mir mein programm das keine nachricht vorliegt... hab mich im MSDN auch nicht schlauer gemacht...
     

  2. #2
    Registriert seit
    Jan 2002
    Ort
    Bayern
    Beiträge
    1.390
    Also soweit ich weiß kann man so ohne weiteres keine Nachrichten eines anderen Programmes "abfangen" wenn dann geht das glaube ich nur mit einem Hook.

    Gruss Homer
     
    we would change the world if god gave us the source code...
    and remember, science is nothing more than reverse engineering nature...

    Current projects:
    - LdrawConverter

  3. #3
    Registriert seit
    Jan 2003
    Ort
    Roßdorf (Hessen)
    Beiträge
    196
    dann ist fraglich wozu das HWND feld in der funktion ist, wenn es nur in dem eigenen programm geht...?!
    scheinst aber vieleicht recht zu habn.... mhh...
     

  4. #4
    Registriert seit
    Jan 2002
    Ort
    Bayern
    Beiträge
    1.390
    Na ein Programm kann ja auch mehrere Fenster haben, und dazu sollte der HWND-Parameter gut sein.
    Aber wie gesagt, ich bin mir da nicht ganz sicher.

    Gruss Homer
     
    we would change the world if god gave us the source code...
    and remember, science is nothing more than reverse engineering nature...

    Current projects:
    - LdrawConverter

  5. #5
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    Ich versuchs mal zu erklären, wie ich denke warum es nicht funktioniert.

    In Windows gibt es eine SystemQueue, welches alle Nachrichten an die Applikationen die Laufen sendet. Innerhalb der Applikation gibt es dann die MessageQueue, die verteilt die Nachrichten an die Fenster!
    Deshalb braucht man das Fenster-Handle. Die dann dort aus der MessageQueue entnommen werden.

    Du hast zwar das Handle des Fensters, aber Du befindest Dich in einer anderen Applikation. Daher vermute ich, dass es nicht geht.

    Für Nachrichten einer anderen Applikation kann man nur mit Hilfe eines Hooks realisieren. Man greift dort sehr tief im System ein.
    Es gibt verschiedene Hooks: Maus, Tastatur etc.
     
    I'll be back!!

Ähnliche Themen

  1. Windows Messages in DOTNet
    Von MarioR im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 29.09.09, 10:32
  2. [C] Windows Messages in DLL (JNI)
    Von Billie im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 21.07.09, 11:21
  3. Platz für away messages bei ICQ
    Von Hopsa im Forum Internetkommunikation
    Antworten: 0
    Letzter Beitrag: 07.06.06, 20:11
  4. ICQ Away Messages ändern
    Von DaRula im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 01.06.04, 14:33
  5. Voice-Messages Box
    Von nitrobesim im Forum Internet, DSL & Flatrate
    Antworten: 3
    Letzter Beitrag: 27.03.04, 12:43