Zum Inhalt springen

Popup bei Worteingabe


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

B) 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

Link zu diesem Kommentar
Auf anderen Seiten teilen

ä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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...