Ermitteln ob sich etwas in einem Programm tut?!



  • Hallo zusammen

    Ich bin neu hier, und hab direkt einmal eine Frage. 🙂
    Ich hab eine kleine Konsolenanwendung geschrieben mit ein paar Funktionen, jetzt will ich eine weitere Funktion hinzufügen.
    Wie das genau aussehen soll erläutere ich euch am besten an einem Beispiel:

    Also meine Konsolenanwendung ist gestartet und der Windows Editor auch,
    jetzt will ich, das mein kleines Programm irgendwie überprüft, ob sich etwas in dem offenen Prozess => Windows Editor tut. Also ob z.b etwas in den Editor geschrieben wird. Und wenn etwas rein geschrieben wird, soll in meiner Konsolen Anwendung stehen "Es wird geschrieben" oder so. Und sobald aufgehört wird in den Editor zu schreiben, soll da z.b stehen "Es wird nicht mehr geschrieben".
    (Ich hab da mal erstmal son bischen mit der Funktion FindWindow angefangen, bin ich denn damit schonmal auf dem richtigen Weg? 🙂 )

    Mir gehts jetzt darum, wie kann ich überprüfen ob etwas in dem Windows Editor geschrieben wird?

    Ich hoffe ihr versteht mein problem, ich bin recht neu in sachen Programmierung und das kleine "Tool" dient mir lediglich zur Übung. Ich arbeite nämlich da rauf hin, später vielleicht einmal diverse Tools für Spiele zu schreiben oder so 🙂 und da muss man dann ja auch Wissen was gerade im Spiel passiert, um es dann evtl. ändern zu können oder so :).

    Ich hoffe mir kann geholfen werden, danke.

    mfg



  • periodisch inhalt des textfeldes vergleichen?

    keyboard messages mithoeren/hooken?

    .
    .
    .



  • Mit den beiden Stichpunkten kann ich nicht viel anfangen 😕

    periodisch inhalt des textfeldes vergleichen

    Eigentlich will ich nichts vergleichen ^^ Ich will lediglich das gecheckt wird, ob etwas in den Editor geschrieben wird oder nicht.

    keyboard messages mithoeren/hooken?

    Und ich wollte auch nicht einfach nur checken ob anschläge auf der tastatur gemacht wurden (mithören? oO), sondern obe etwas IN den Windows-Editor reingeschrieben wird.

    trotzdem danke 🙂

    mfg



  • lowbird_is schrieb:

    Und ich wollte auch nicht einfach nur checken ob anschläge auf der tastatur gemacht wurden (mithören? oO), sondern obe etwas IN den Windows-Editor reingeschrieben wird.

    ich weiß nicht, mit was für utensilien du IN den Windows-Editor reinschreibst, aber normalerweise wird das per tastatur gemacht.

    SCNR



  • Ach Gott, da träumt wieder einer vom "Cheats & Trainer Programmieren in 21 Tagen". Geht gottseidank nicht so einfach, sonst hätten die online Games noch mehr zu leiden...
    ächz



  • Ach Gott, da träumt wieder einer vom "Cheats & Trainer Programmieren in 21 Tagen". Geht gottseidank nicht so einfach, sonst hätten die online Games noch mehr zu leiden...
    ächz

    Wie auch immer du auf "Cheats & Trainer Programmieren in 21 Tagen" kommen magst, du liegst sehr falsch. Ich versuche nun lediglich C++ etwas zu vertiefen und nicht nur mit cout und cin irgendwelche texte auszugeben.
    Ich möchte halt gern verstehen wie man mit Wondowsfunktionen arbeitet.

    Und nun folgendes:

    #include <windows.h> 
    #include <iostream.h>
    
    LRESULT CALLBACK KeyboardProc(int, WPARAM, LPARAM); 
    
    int main (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) 
    { 
    HWND findhwnd; 
    DWORD dword; 
    HHOOK hook; 
    
    findhwnd = FindWindow(NULL, "Unbenannt - Editor"); 
    
    	if(findhwnd != NULL) 
    	{ 
    		MessageBox(NULL, "Programm Gefunden", "Titel", MB_OK); 
    
    		dword = GetWindowThreadProcessId(findhwnd, NULL); 
    		cout << dword<<endl;
    
    		hook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, NULL, dword); 
    
    	} 
    return 1; 
    } 
    
    LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) 
    { 
    switch(nCode) 
    {
    
    } 
    
    return 1; 
    }
    

    Ich habe nun mein "tool" soweit geschrieben.
    Leider weiss ich jetzt nicht weiter 😞 .. Wenn ich meinen Editor öffne, und meine Konsolenanwendung, wird die MessageBox aufgerufen, und die ThreadProcessId ausgegeben. Jetzt will ich aber checken ob in das Fenster mit der ThreadProcessId (also Windows - Editor) geschrieben wird. Wie mach ich dafür weiter ? 😕

    mfg



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Um Hooks Prozessübergreifen zu machen brauchst Du eine DLL unter Inter-Process-Kommunikation.
    Ja, da lernst Du die WinAPI kennen.

    Und nein, ich werde Dir kein Beispiel schreiben...
    Und ja, es gibt im Netzt genügend Beispiele, z.B. auf Codeproject...
    http://www.codeproject.com/dll/keyboardhook.asp
    http://www.codeproject.com/dll/hooks.asp


Log in to reply