Sunflower84 Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Hallo Hat irgendjemand Ahnung von Windows Programmierung. Ich brauche dringend eure Hilfe. Wenn ein Benutzer egal in welchem Programm(Word,PowerPoint ...) ein bestimmtest Wort eingibt soll ein Popup Fenster aufgehen. Ich muss also irgendwie die Eingabe des Benutzer erkennen,oder? Hat jemand Ahnung wie man das macht? Sunflower Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Diablo999 Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 K.A. ob ich dein Problem richtig verstanden habe!!! Ich verstehe das jetzt einfach mal so: Du willst also Systemweit (alle laufenden Programme) alle Eingaben mitbekommen und bei bestimmten Eingaben (Wörtern) ein Popup anzeigen? Wenn das dein Anliegen ist könnte dir evtl. SetWindowsHookEx vom Typ WH_KEYBOARD helfen... Damit bekommst du zumindest alle Tastenanschläge. PS: Die Hookfunktion muss in ner DLL liegen wenn er systemweit greifen soll. Gruß Diablo999 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 26. April 2005 Autor Teilen Geschrieben 26. April 2005 Ja genau das hast du richtig verstanden. Aber ich weiss noch nicht mal wie ich anfangen soll. Bin gerade im ersten Lehrjahr und mein Chef gibt mir solch einen Auftrag. Ich kenn mich zwar mit objektorientierter Programmierung schon etwas aus. Aber wie soll ich denn anfangen??? Sunflower Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Diablo999 Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Ohne dich zu kennen würde ich sagen das das von mir vorgeschlagene Vorgehen nichts für jmd. im ersten Lehrjahr ist... Bist du dir sicher das dein Chef genau das gefordert hat? Falls du jedoch Lust hast viel zu lernen und viel Dokus zu wälzen kann ich gerne nochn bisschen was dazu schreiben... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 hmm... also ganz grundsätzlich: mach n struktogramm da brauchst wenigstens nix programmieren, aber du hast die lösung eigntlich schon da. denn notfalls wird dir doch sicher der ein oder andere kollege mal nen "wink mit dem zaunpfahl" geben können. ja das wars eignetlich, du machst n struktogramm dazu, lässt dir das signieren das es ok und auch das ist was gefordert ist. sobald du die freigabe für dein struktogramm hast übersetzt du einfach das SG in C/C++ und naja, das sollte es im idealfall gewesen sein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 26. April 2005 Autor Teilen Geschrieben 26. April 2005 Ja, ich bin mir ganz sicher das mein Chef das verlangt. Wir hatten ja extra ein Meeting einberufen was dieses Programm machen soll. Das ist für irgendeine Firma in Amerika. Deshalb ist es auch sehr dringend da ich für das Programm nicht gerade sehr viel Zeit habe. In der Schule haben wir gerade mal mit Funktionen angefangen. Deshalb ist es auch etwas schwierig für mich. Ich benutze zurzeit das Programm Visual C++ 6. Wenn ich ein Projekt erstelle habe ich sehr viele Dateien. Die .cpp die header usw. Ich weiss auch überhaupt nicht wo ich was rein schreiben soll. Kennst du eine gute Seite wo das gut erklärt ist? Ich habe auch schon sehr viel im Inernet gesucht, aber leider erfolglos :-( Sunflower Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 26. April 2005 Autor Teilen Geschrieben 26. April 2005 Das ist ja das Problem Snowman. Ich bin die einzige die Programmieren kann. Außer mein Chef der kann ein bißchen VB aber das bringt mir nicht viel. Sunflower Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Naja wie Diablo999 bereits gesagt hat wird das mit deinem Kenntnisstand ein hartes Stück arbeit. Auf jeden brauchst du dazu 2 Programme: Einmal eine DLL die erstaml 3 Funktionen haben muss: a) Den Kyboardhook im System anmelden Die Funktion die vom System aufgerufen wird wenn eine Taste gedrückt wird c) eine Funktion um den Hook wieder abzuschalten und ein Programm welches die Funktion a) aus der Dll aufruft. Dabei könnte dir folgendes Beispiel helfen: http://www.codeproject.com/dll/keyboardhook.asp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 äh wiebitte? du hast keine ahnung wo der quellcode rein kommt? also ich will dir das hier nich vorwerfen oder sagen das du dumm seist, das mich bitte niemand falsch versteht aber wenn du doch so wenig ahnung von dem programm hast dann ist diese aufgabe zu hoch! Hmm.. vllt. gibts ja irgendwie ne richtig einfache möglichkeit das zu lösen, die wäre mir aber nicht bekannt, daher sollen lieber erstmal n paar leut ihrer meinung dazu posten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 26. April 2005 Autor Teilen Geschrieben 26. April 2005 Hallo Snowman Also ich weiss was in den Header kommt und in das Hauptprogramm. Aber dort sind auch noch einige andere Dateien. Ich habe keine Ahnung für was die da sind und ob ich die alle brauche Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Diablo999 Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Schau dir mal den Post von Guybrush Threepwood an... @Guybrush Threepwood Genau das gkleiche wollte ich auch grad schreiben *arg* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 ...Ich habe keine Ahnung für was die da sind und ob ich die alle brauche ich auch nicht, ich lösch meistens alles was ich nich kenne und reg mich drüber auf das er nichmal cout kennt obwohl die header mit drin is Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 26. April 2005 Autor Teilen Geschrieben 26. April 2005 Ich habe cout auch mal versucht. Hatte mich auch schon gewundert als ich die Fehlermeldung bekam "cout nicht deklariert". Hab zwar danach #include<iostream> eingefügt. Aber das ging dann immer noch nicht. Das ganze ist schon wesentlich schwerer als das ganze über Konsole zu machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 26. April 2005 Autor Teilen Geschrieben 26. April 2005 Hat denn keiner eine Ahnung wie sich das ein Anfänger schnell beibringen kann? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Diablo999 Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Hast du dir schonmal den Link angeschaut den Guybrush gepostet hat? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sunflower84 Geschrieben 26. April 2005 Autor Teilen Geschrieben 26. April 2005 Ja, das habe ich. Aber im Moment versteh ich noch nicht ganz was dieser Quelltext machen soll. Aber ich bin noch dabei. Ich werde mir das heute Abend in Ruhe mal anschauen. In der Firma wird man andauernd gestört. Ich weiss auch nicht was ihr alle mit hook meint. Das das ein feature von Windows ist hab ich schon gelesen. Aber was genau weiss ich nicht. Das muss ich heute Abend in Ruhe machen. Wenn ich es mir genau durchgelesen habe, meld ich mich morgen mal. Bist du morgen auch wieder da,falls ich fragen habe über diese Seite? Sunflower Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Diablo999 Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Kann morgen erst wieder abends online gehen... Aber es gibt genug fähige Leute hier im Forum! Viel Spass und Glück mit dem Beispiel... Un wenn du das nicht hinbekommst versuche mal ne DLL zu erstellen mit dem MSVC6 Wizard und eine Funktion in dieser DLL aus einem anderen Programm aus aufzurufen... Gruß Diablo999 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Die Idee einen Windows Hook zu verwenden, ist schon der richtige Weg. Ein Hook ist eine Funktion, die beim Eintritt eines vorher festgelegten Ereignisses aufgerufen wird und darauf reagieren kann. Im Fall des Keyboard Hooks kann sie entscheiden, was mit der Tasteneingabe geschehen soll. Um Dein Problem zu lösen, brauchst Du prinzipiell keine DLLs, ein normales Programm kann, so lange es läuft, auch eine Funktion als Hook registrieren. Vor dem Programmende, sollte sie den Hook jedoch wieder entfernen. Wenn Du allerdings wirklich noch so massive Probleme mit Deiner IDE hast und nicht weißt, wozu die erzeugten Dateien gut sind, dann solltest Du Dich zuerst mit den Grundlagen von C/C++, der Windows-Programmierung und etwas mehr mit Deiner IDE beschäftigen, bevor Du das Projekt angehst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Das ist nicht korrekt. Das System muss ja auf die Hook-Funktion zugreifen können und das kann es nicht wenn sich diese in einer Exe befindet weil es ja nicht an den Speicherbereich ran darf. Damit das System die Hook Callback Funktion aufrufen kann muss sich diese in einer Dll befinden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Der Kleine Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Ich stelle mir gerade die Frage (auch wenn ich konstruktiv nichts beitragen kann und werde) Welcher Sinn könnte in einem POP-Up liegen? Vielleicht verstehe ich dann die Aufregung um die Systemweiten Befehle. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Das System muss ja auf die Hook-Funktion zugreifen können und das kann es nicht wenn sich diese in einer Exe befindet weil es ja nicht an den Speicherbereich ran darf. Damit das System die Hook Callback Funktion aufrufen kann muss sich diese in einer Dll befinden. Grundsätzlich ja, allerdings ist es möglich einige Hooks auf einen eigenen Thread zu beschränken. Die DLL-Variante könnte bei der Entwicklung noch problematisch sein, wenn die übrigen dem Desktop zugeordneten Prozesse noch laufen und die DLL nicht freigegeben wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Grundsätzlich ja, allerdings ist es möglich einige Hooks auf einen eigenen Thread zu beschränken. Dann ist der Hook aber nur innherlab deiner Anwnedung gültig und nicht Systemweit. Die DLL-Variante könnte bei der Entwicklung noch problematisch sein, wenn die übrigen dem Desktop zugeordneten Prozesse noch laufen und die DLL nicht freigegeben wird. Das vestehe ich jetzt nicht. Entweder läuft der Hook bis er abgeschaltet wird oder bis das System heruntergefahren wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 Dann ist der Hook aber nur innherlab deiner Anwnedung gültig und nicht Systemweit. Richtig. Zum Testen sollte es aber reichen. Wenn der Code funktioniert, kann man den Hook immer noch systemweit installieren. Das vestehe ich jetzt nicht. Entweder läuft der Hook bis er abgeschaltet wird oder bis das System heruntergefahren wird. Den Hook kannst Du abschalten, die DLL wird beim Aktivieren des Hooks jedoch (implizit) von allen aktiven Prozessen des Desktops geladen, kann also auch noch nach dem Abschalten des Hooks in Verwendung sein. In der MSDN sind mehrere Voraussetzungen aufgezählt die eintreten müssen, damit die DLL wieder entladen wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 26. April 2005 Teilen Geschrieben 26. April 2005 hmmm, ich kann dir zwar nicht weiterhelfen, aber mal ne ganz dumme frage von mir : ist sowas kein kündigungsgrund ? ich meine, die funktionsweise ist wie die eines sniffers und bei dem ist es ein kündigungsgrund. selbst wenn man ihn nur programmiert und auf seinem rechner ablegt. sollte ich unrecht haben, verschiebt es in BABA´s blödes Geschwätzkorbchen :hells: und noch eine sache, ich kann es mir nciht vorstellen, dass von einem anfänger so eine leistung erwartet wird. rechne mal lieber fakultäten rekursiv oder mach eine menüstruktur für alle windowsdienste. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 27. April 2005 Teilen Geschrieben 27. April 2005 Warum sollte es ein Kündigungsgrund sein ein Programm zu schreiben was man als Aufgabe bekommen hat? :confused: :confused: Und warum sollte der Einstatz eines Sniffers generell ein Kündigungsgrund sein? Es ist lediglich ein Kündigungsgrund wenn du als nicht Systemadministrator ohne Erlaubnis der Verantwortlichen einen Sniffer in deiner Firma einsetzt und so die Daten anderer ausspionierst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.