2 Fragen über Sendmessages

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 2 Fragen über Sendmessages

    /edit habs lösen Können. Das Problem war das man erstmal ne SendMessage an Winamp schickt und Winamp dann erst ans Plugin sendet. Das hatte zufolge das CallWindow() immer wieder das gleiche an sich selbst geschickt hatte und somit ein Overflow auftrat.
    Ich habs nun gelöst indem ich als WParam mein Fensterhandle drangeschickt hab.

    Grüße



    Hi, ich habe ein kleines Plugin für winamp geschrieben, das man mit SendMessages ansprechen kann.
    Jedoch sind da 2 dinge die mir nicht wirklich gefallen.
    1. Ich registriere ein Fensterhandle mit FindWindow() und speicher es in einer HWND variable ("fenster") ab.
    Nun dachte ich mir, man kann doch ein Fenster auch "OnTheFly" registrieren. Man hat ja das HWND auch in der WndProc spalte.
    Also hab ich das hwnd das ankommt in der HWND variable("fenster") gespeichert.
    Jedoch stürzt Winamp nun immer ab. Ich hoffe ihr versteht es soweit. Hier ein kleines ausschnitt wie es bei mir aussieht:

    Quellcode

    1. HWND fenster;
    2. LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
    3. switch(message){
    4. case WM_regwindow:
    5. fenster = hwnd;
    6. SendMessage(fenster, WM_regwindow, 0, 0);
    7. break;
    8. }
    9. }


    So, dabei stürzt winamp immer ab.
    Wie kann man das richtig Lösen?

    /edit: Ich habs gerade mal durch den Debugger gejagt, der Fehler ist:
    "Unbehandelte Ausnahme bei 0x07911af4 in winamp.exe: 0xC00000FD: Stack overflow."


    Meine 2te Frage ist, wie kann das Programm direkt auf das ankommende SendMessage reagieren?
    Damit meine ich, Wenn ich mit meinem Externen Programm eine SendMessage an das Plugin schicke, muss ich in dem Externen Programm auch eine WndProc hinzufügen.
    Wie ist es möglich eine Variable a = SendMessage(fenster,msg,zahl1,zahl2); zu setzen und darin zu speichern, ohne die WndProc zu nutzen?

    Ich hoffe ihr habt meine Fragen soweit verstanden. Falls nicht erkläre ich es gerne nochmal

    Grüße

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von tsuyo ()