C++ Prozess sanft beenden



  • hmm,
    aus den ganzen Anleitungen werde ich nicht immer schlau, das ist mein Problem...

    Ich bin jetzt mit Müh und Not auf den Code gekommen

    COPYDATASTRUCT cds;
    char message[50];
    strcpy(message, "Der zu kopierende string.\0");
    cds.dwData = 0;
    cds.cbData = strlen(message)+1;
    cds.lpData = (PVOID)message;
    
    SendMessage(zielHandle, WM_COPYDATA, (WPARAM) (HWND) this->Handle, (LPARAM) (PCOPYDATASTRUCT) &cds);
    

    Der Code läuft ohne Fehler, aber leider auch ohne Effekt 😞
    Ich bin mit meinem Latein wirklich am Ende 😞
    ich habe auch schon versucht, cds.dwData mit (unsigned long)message zu füllen, auch ohne erfolg 😞



  • WinClose schrieb:

    COPYDATASTRUCT cds;
    char message[50];
    strcpy(message, "Der zu kopierende string.\0");  // -->  stcpy braucht kein \0!
    cds.dwData = 0;
    cds.cbData = strlen(message)+1;                  // --> +1 weg1
    cds.lpData = (PVOID)message;
    
    SendMessage(zielHandle, WM_COPYDATA, (WPARAM) (HWND) this->Handle, (LPARAM) (PCOPYDATASTRUCT) &cds);
    

    // Rückgabe von SendMessage?

    Du hast zwei Anwendungen, eine sendende und eine empfangende.
    Zunächst die sendende Seite betrachten (Kontrollausgaben), ob alles in Ordnung ist. Dann die empfangende Seite betrachten, ob überhaupt und was unter WM_COPYDATA ankommt.

    Latein kannst du übrigens beim Programmieren nicht gebrauchen. Die ollen Römer kannten noch keine Computersysteme! 🕶



  • hmm
    nen Fehler gibts immernoch nicht
    und der Rückgabewert von SendMessage ist false.

    Trotz deines Codes funktioniert es nicht.
    Wie kann ichd enn überprüfen, ob da Code ankommt?
    mehr, als in die Textbox im anderen Fenster gucken, geht ja nicht, da ich keinen Zugriff auf den Code habe



  • Für sowas gibt es WM_SETTEXT.



  • Paula schrieb:

    Für sowas gibt es WM_SETTEXT.

    An welches Control der (externen) Anwendung willst du den Text denn senden?



  • Das ist ein einzeiliges Textfeld



  • Achja: WM_SETTEXT bewirkt immerhin eine Änderung im Programm: Der Fenstertitel verwandelt sich in cryptische zeichen



  • Sicher das du auch das Handle vom Textfeld benutzt?



  • Sanft? Bisse schwull? lolol



  • nee, ich hab das Handle vom Fenster benutzt.
    Wie komme ich denn an das Handle des textfeldes?


Anmelden zum Antworten