rauskriegen, wenn ein prozess vom user gestartet wurde



  • ich hab ein problem. und zwar muss ich ein programm schreiben, dass nach seinem start den pc in ein großes Big Brother haus verwandelt, also sogut wie jede aktion mitloggt. um genauer zu sein, soll es warten, bis der user ein programm gestartet hat, und ab dem zeitpunkt tapfer jede art von eingabe in das aktive toplevel fenster mitloggen. diese eingaben werden dann in eine datei geschrieben, und können dann auf jedem anderen pc wieder ausgeführt werden.

    mein problem ist nun, dass ich nicht weis, wie ich a) rauskriegen kann, ob ein prozess gestartet wurde, und b) wie ich rauskriegen kann, ob ein user diesen prozess startet. Mein ziel ist es, die prozess ID zu bekommen, weil ich damit dann alle infos bekommen kann, die ich brauch.

    ich hab heute schon viel in der msdn gesucht, aber konnte dazu leider nichts finden. wenns irgendwie hilft, ein tastatur- und Maushook sowie ein messageonly-window sind vorhanden :D.



  • Auf Codeguru oder Codeproject beschrieb mal jemand, wie er das per API-Hooking gelöst hatte. Ich finde nur den Link nicht... 😡 😞

    Such mal bei den beiden Seiten nach API Hooking...



  • eine frage, was hat API hooking mit dem finden eines prozesses zu tun? sorry, ich kenn mich damit nicht aus 🙂



  • Du hookst die API-Funktion, die den Prozeß erzeugt...





  • sieht gut aus 🙂



  • nachtrag: wenn man jetzt nicht auch noch subscriber bei microsoft sein müsste, um das ding benutzen zu können, dann wär ich zufrieden.

    leider ist dem nicht so.



  • subscriber bei microsoft sein müsste

    😕 😕 😕 😕 😕



  • steht auf der msdn irgendwo, habs über google gefunden,stand was nach dem motto "not for download, but when you subscribe...", naja vielleicht irr ich mich auch...



  • du musst dich doch nur bei codeproject anmelden um den source code runterzuladen. nix microsoft...



  • darum gings net, den code wollt ich net, es geht um das windows ddk, ohne das nutzt mir auch die tolle funktion die da beschrieben wurde nichts-.-



  • achso sag das doch gleich vernünftig.

    ziehs dir doch aus emule.



  • hmm hab heute früh nochmal die suche angestellt, und siehe da, ich hab das ddk irgendwie doch. naja man sollte sich nicht so auf die dokus verlassen("this is a part of the normal WinAPI package").

    hab dann also gleich meine ide angeworfen, ntddk.h included, mich darüber beschwert, dass ein linkerfehler kommt, ntdll.lib eingebunden, geflucht, nochmal im internet gesucht, ntoskrnl.lib eingebunden, gefreut dass es compiled hat.

    doch nun hab ichn ganz dicken fehler: eigentlich sollte mein programm als aller erstes eine messagebox ausgeben, was bevor ich die neuen dateien und funktionen eingebunden hab, tadellos funktioniert hat. nunja, nun startet mein programm, und wird sofort gekillt. starte ichd as programm ausserhalb der ide begrüßt mich ein c000000000005, der mir sagt, dass die anwendung nicht richtig gestartet werden konnte(und nein, das war nicht meine messagebox^^). nachdem ich die lib ntoskrnl.lib wieder rausgeworfen hab, gings wieder....NACH einem neustart 🙄

    kennt sich hier jemand vielleicht damit aus?



  • Reicht da nicht einfach ein Shell-Hook?



  • säufz, grad nochmal mit meinem info lehrer geredet, für den ich das programm mache, er sagte, dass er es "nicht begrüßen würde",wenn ich einfach nur warten würde, bis ein prozess startet(vorallem nicht auf diese weise), ich sollte doch jede aktion nach dem start des programms protokollieren 😞

    deshalb hat das ganze thema hier nichmehr soviel sinn.

    closed


Anmelden zum Antworten