vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Windows eingabepuffer 
Autor: steve_24
Datum: 12.11.08 17:42

Hallo

Kann mir vll jemand sagen wie den Eingabepuffer von Windows leere.
Also bevor ich das erste mal GetAsyncKeyState aufrufe alle Tastatur bzw Mauseingaben löschen kann.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 12.11.08 21:01

Hmm, verstehe gerade das Problem nicht. Gibt die Funktion etwas ungleich 0 zurück wenn Du sie das erste Mal in der Anwendung aufrufst und nichts seit dem Programmstart eingegeben hast?


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 12.11.08 21:17

So zuerst was ich will.
Ich habe eine Mdi in dieser will ich mitprotokollieren welche eingaben (maus tastaur)der benutzer macht.
nun habe ich verschiedene klassen geschrieben um die eingaben zu verarbeiten.
ich habe einen timer der alle 20ms die funtktion GetAsyncKeyState aufruft.
ich starte die mdi und schalte den timer zu einem bestimmten Zeitpunkt ein.
nun kommt beim ersten aufruf der Funktion ein ewiger schwanz an eingaben die anscheinend seit dem starten der mdi gemacht worden sind. diese möchte ich aber löschen um einen definierten beginn der eingaben zu bekommen.

Beitrag wurde zuletzt am 12.11.08 um 21:27:59 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 12.11.08 21:30

Dann ruf sie doch einfach mal bei Programmstart einmal so auf.
Warum fragst Du asynchron alle 20 ms ab!? Das klingt nicht gut.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 08:37

naja ich frage ab um alle keykress und clicks mitzubekommen un die dann gleich dementsprechend zu verarbeiten. wenn ich nur alle sagen wir minuten abfrage weis ich ja nicht mehr, auf welches control z.B. geclickt worden ist.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.11.08 10:44

Aber dafür gibt es doch die Keypress-Ereignisse!?


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 11:13

ja schon aber da es ein sehr großes projekt ist und ich nicht auf jeder form das ereignis ausprogrammieren kann soll will muss ich das umgehen und diese events irgendwie anders abfangen (subclassing oder api-hooking)das mit der api und dem timer war mein erster ansatz.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.11.08 11:18

Der Ansatz ist Müll.
Also Subclassing wäre gut oder KeyboardHook. Für den Hook brauchst Du allerdings ne DLL, das geht mit VB nicht alleine. Da könnte ich dir meine mouse-DLL anbieten.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 11:21

ja danke aber das problem ist, dass dies meine abschlussarbeit ist und ich nicht den code von jemand anderen verwenden sollte. Ich werde mich mal mit dem subclassing beschäftigen und sehn was da raus kommt. falls du aber noch tips hast nehm ich die gerne an.
danke im voraus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.11.08 11:47

Das ist aber schon mit VB6 oder?


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 11:51

Ja mit vb6
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.11.08 12:18

OK, also wenn Fremdkomponenten (auch wenn hier ja keine große Funktionalität übernommen wird) nicht gehen, dann würde ich alle nötigen Komponenten subclassen. Wieviele Formulare und Controls sind denn in deinem Projekt?


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 12:24

also das projekt besteht aus ca.700 usercontrols die auf eine generische form kommen
und ca 100 forms und noch verschiedene controls von fremdanbietern
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.11.08 13:38

OK, also da würde ich doch mal über den Keyboard-Hook nachdenken. Da subclasst man sich doch zu Tode.
Kann mir gerade nicht vorstellen wofür man 700 UserControls und 100 Forms braucht


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 13:43

Ja das ist ein ziemlich großes kunden projekt
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.11.08 13:46

Also wie gesagt, die DLL registriert lediglich das Programm als Empfänger bei Windows und Windows ruft dann eine Callback-Routine auf, die Du selber schreiben musst, in der Du die Tastatur-Ereignisse bearbeiten kannst. Ich denke, dass das nicht sonderlich viel Fremdcode ist und das dürfte kein Problem darstellen. Aufgrund der Beschaffenheit des Hooks, muss das halt von einer DLL registriert werden und kann nicht einfach aus dem Programm heraus geschehen, eine DLL ist also unumgänglich für so etwas.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 14:12

ja danke
ich muss mal darüber mit meinen vorgesetzten reden vll kann ich sie ja nehmen

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.11.08 14:16

Falls er nicht so recht will kann ich ihm auch den entsprechenden Quellcode-Ausschnitt mal zeigen, das ist nicht wirklich viel.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Windows eingabepuffer 
Autor: steve_24
Datum: 13.11.08 14:26

ok ich meld mich mal dann kann aber bis ende des monats dauern
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel