Nachrichten senden?



  • Hi!

    Ich habe gerade mit Spy++ die Nachricht von einer Checkbox abgefangen.
    Sie lautet: "00000CF8 S BM_SETCHECK fCheck:BES_UNCHECKED"
    Hiermit wird das häkchen aus der Checkbox entfernt.

    Ich möchte dies Fernsteuern.
    Gibt es einen Code mit dem ich diese Nachricht zu dieser Anwendung senden kann?

    Danke im Voraus



  • SendMessage(hWndDesFensters, BM_SETCHECK,wParam, NULL);
    wParam kann sein:
    Specifies the check state. This parameter can be one of the following values. Value Meaning
    BST_CHECKED Sets the button state to checked.
    BST_INDETERMINATE Sets the button state to grayed, indicating an indeterminate state. Use this value only if the button has the BS_3STATE or BS_AUTO3STATE style.
    BST_UNCHECKED Sets the button state to cleared.

    Steht auch alles auf in der MSDN!



  • das handle des controls, an das du die nachricht schickst.

    [ Dieser Beitrag wurde am 23.11.2002 um 18:39 Uhr von dEUs editiert. ]



  • was ist hWnd?



  • das Handle ist nach jedem Start des Programms anders
    Und hexzahlen will er nich anhemen. 😞

    Ich finde das Handle mit dem Spy++ Find Windows Tool raus, da steht dann eine zahl in diesem Kästchen wenn man über das Ankreuzfeld fährt.
    Ist dass das Handle?



  • Jo. Du musst erst mit FindWindow das Handle des Fensters bekommen, auf dem deine Checkbox ist und dann per EnumChildWindows das Handle der Checkbox holen. Das ist aber WinAPI ...
    Verschoben!



  • Hallo? Könnt ihr auch MFC im MFC-Forum? Ich kann es nicht, weiß aber folgendes: Eine CheckBox ist ein Button, gehört in der MFC also zur Klasse CButton. CButton wiederum ist von CWnd abgeleitet, und CWnd hat das Datenmember m_hWnd. Also geht das wie folgt:

    SendMessage(MyCheckBox.m_hWnd, BM_SETCHECK, wParam, 0);
    // Oder noch einfacher:
    MyCheckBox.SendMessage(BM_SETCHECK, wParam, 0);
    

    [ Dieser Beitrag wurde am 24.11.2002 um 22:37 Uhr von WebFritzi editiert. ]



  • Ich möchte dies Fernsteuern.

    Darunter hab ich verstanden, dass sich die Checkbox in einem unabhängigen Programm befindet.

    Falls das nicht der Fall ist:

    MyCheckBox.SetCheck(0,1 oder 2);
    


  • Original erstellt von WebFritzi:
    Hallo? Könnt ihr auch MFC im MFC-Forum?

    Tja, und ich kann wohl nicht lesen. 😉



  • Um ein gültiges Handle von einem Fenster... zu bekommen kannst du mal
    FindWindow oder FindWindowEx benutzen.

    MFG

    RS


Anmelden zum Antworten