Eingabe an CEdit senden



  • Hä?
    Was willst du denn erreichen?



  • Ich will erreichen, dass ...also..moment...ein Beispiel: _

    Ich habe ein ChatProgramm:
    ich gebe in das Eingabefeld des Chatprogramms meine Nachricht ein, z.B.
    Hallo

    Dann bestätige ich mit der Entertaste das Eingegebene, um die Nachricht zu versenden.

    ...ist ja ganz einfach-das Prinzip von warscheinlich jedem Chatprogramm :). Ich möchte aber dass nicht ich selbst per Tastatur das Wörtchen "Hallo" mühsam *lol* eingeben muss, dann die Entertaste drücke, etc. und somit -um es einfach auszudrücken - ich selbst das Chatprogramm per Hand steuere, sondern dass das mein C++-Programm für mich erledigt.

    Verstehst du was ich meine ?



  • Ja. Was spricht gegen

    SendMessage(hwndEdit,WM_KEYDOWN,VK_RETURN,0);
    

    ?



  • Mit dem Code hab ich's auch schon probiert, aber des geht leider nicht...:-(

    ich weiß auch net woran des liegt.
    Also an dem ChatProgramm liegts sicher net, dass ist sicher.
    Aber...hm..woran dann ?
    Welchen alternativen befehl gäbs denn noch ?



  • hi CMan ich hab auch schonmal ein Chatprogramm mit meinem Programm ferngesteuert. Zum Spammen. 😃 Dort hab ich soweit ich weiß auch das benutzt was dEUs gepostet hat. Kann man das Chatprogramm irgendwo downloaden damit ich es mal ausprobieren kann?



  • Hast du mal versucht das Enter nicht direkt an das CEdit zu senden, sondern an den Dialog?

    Es könnte doch sein das im Dialog ein Control als Standard definiert ist (die zum Beispiel unsichtbar ist) und bei Enter ausgeführt wird.

    Wenn ich bei einem neuen Dialog zum Beispiel den OnOK-Button lösche, wird die Methode beim drücken von Enter trotzdem ausgeführt..



  • Eben, auch dann, wenn der eingabefokus im editfeld ist...



  • hmm stimmt, dann müsste das ja eigentlich durchgereicht werden..



  • *lol*...oh Mann ihr habt recht...also ich weiß ja net obs daran liegt aber ich kanns mir denken _. Is auf jedenfall 'ne Super Idee-darüber hab ich selbst noch gar nicht drüber nachgedacht.

    Yeah vielen Dank so müsste es gehen
    Schönen Gruß
    CMan



  • 😕



  • 💡 lass uns teilhaben an deinem Erfolgserlebnis 😋



  • Oh naja...also irgendwie ging des doch net...*schnief*
    Ich hab echt keine Ahnung an was des etz noch liegen könnte, des will einfach net funktionieren.

    Naja schade 😞 aber danke nochmals...



  • ist das chatprogramm von dir selbst und dieses auslösen ein teil vom chatprogramm?

    wenn ja kannst du doch einfach die behandlungsroutine (wahscheinlich OnChar()) direkt mit dem parameter VK_RETRUN aufrufen. dann ist es nicht nötig messages zu verschicken.

    wenn es in nem anderen programm ist fällt aber auch nix besseres als der simmlierte tastendruck den du ja erwähnt hast ein.



  • Nene des Programm is net von mir...sonst wüsste ich warscheinlich wie's geht.._...hm naja aber des scheint net zu gehen warum auch immer.
    Ich kann euch ja mal die Addresse von dem Chat geben-vielleicht kennt ihn ja eh der ein oder andere.

    Des Chatprogramm is von der SpinchatAG... zu finden unter http://gong.spinchat.de.

    Mein C++-Proggi sollte halt selbstständig eine Nachricht in den Raum in dem ich mich gerade befinde reinschreiben können. Aber des funzt leider net.

    Ich würde mich echt freuen wenn jemand rauskriegen würde,
    wie des geht...

    Vielen Dank und 'n schönen Gruß
    CMan



  • ich hab ein programm dafür (wenn du willst schick ichs dir per msn). es kann 2 verschiedene nachrichten abwechselnd in einem von dir bestimmten abstand an ein von dir bestimmtes fenster schicken. aber du kannst nich parallel am pc arbeiten weil es den inputfokus auf das fenster setzten muss in das es eingeben soll.

    man kann sich sowas aber auch leicht selbst programmiern:

    #include <stdio.h>
    #include <conio.h>
    #include <windows.h>
    
    int main()
    {
    	char fenstername[81], str1[81], str2[81];
    	int warten;
    
    	printf("Fenstername eingeben: ");
    	gets(fenstername);
    	printf("String 1 eingeben: ");
    	gets(str1);
    	printf("String 2 eingeben: ");
    	gets(str2);
    	printf("Wartezeit eingeben: ");
    	scanf("%d", &warten);
    
    	printf("\nZum Beenden eine beliebige Taste druecken");
    
    	int i = 0;
    
    	while(!kbhit())
    	{
    		HWND hWin = FindWindow(NULL, fenstername); 
    		SetForegroundWindow(hWin);     // Focus auf gewuenschtes Fenster setzen
    
    		char* str;
    		if(++i%2)
    			str = str1;
    		else
    			str = str2;
    
    		for(int i = 0; str[i] != '\0'; i++) 
    		{ 
    			keybd_event(VkKeyScan(str[i]), 0, 0, NULL);			   //taste drücken... 
    			keybd_event(VkKeyScan(str[i]), 0, KEYEVENTF_KEYUP, 0);    // und wieder loslassen 
    		}
    		keybd_event(VK_RETURN, 0, 0, NULL);     // ENTER taste drücken... 
    		keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
    
    		Sleep(warten * 1000);
    	}
    
    	return 0;
    }
    

    dieses programm macht genau das gleiche wie das das ich hab bis auf, dass es auf der konsole is und das es keine groß-klein-schreibung kann. (falls du groß kleinschreibung willst kann ich dir das auch noch schreiben...)

    ich habs auch mit deinem chat getestet...funktioniert



  • Erst mal vielen Dank dass du dir so viel Mühe gemacht hast :-),jedoch

    so weit war ich leider auch schon....
    Aber genau des bräuchte ich nämlich-> eben dass des Fenster den Eingabefocus nicht verliert,wenn man parallel arbeitet. Also ich müsste des quasi über einen Zeiger auf des Eingabefeld vom Main-Dialog regeln, damit auch wirklich des Fenster die Eingabe erhält...und nicht ein anderes, das mir währenddessen möglicherweise in die Arbeit funkt _
    Und des is des schwierige... leider...:-(

    Du weißt auch net wie man des über nen Zeiger regeln könnte oder ?
    Also des mit der VM_KEYDOWN über die SendMessage-Funktion des geht ja komischerweise schon mal nicht, warum auch immer...

    Schönen Gruß und Danke nochmals
    CMan



  • Läuft dieser Chat über den Browser oder ist das ein eigenes Programm?



  • Der Chat läuft über den Browser...des is ein Java-Applet... wieso gibts da Unterschiede ?!



  • (Nachtrag:) Des Applet erscheint aber als eigenes Fenster ! Also nicht im Browser direkt. Wollt ich nur noch hinzufügen.



  • ok danke, ich bin jetzt über das applet im chat und versuche es hinzubekommen. schaffe es aber auch nicht. text in das edit-feld zu schreiben ist via WM_SETTEXT kein problem, aber das absenden bleibt eins. 😃


Anmelden zum Antworten