Forum: PC-Programmierung brauche Hilfe für Windows Driver (WDM Driver)


von Timo S. (meeloo)


Lesenswert?

Hallo!

Ich hoffe mir kann jemand helfen !!


Ich würde gerne gezeigt bekommen wie ich meine Maus bewegen kann und 
zwar nicht absolut sondern relativ. und ja das natürlich im Kernelmode!! 
(WDM Driver)

in c++ habe ich windows.h benutzt

mouse_event( MOUSEEVENTF_MOVE,x,y, NULL , NULL );

aber windows.h ist ja nur im Usermode nutzbar .

ich wäre sehr sehr dankbar wenn mir einer ein Beispiel geben könnte!!

ach ja mein Source Code ist in .c

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Timo S. schrieb:
> Ich würde gerne gezeigt bekommen wie ich meine Maus bewegen kann und zwar
> nicht absolut sondern relativ. und ja das natürlich im Kernelmode!!

Was um alles in der Welt hast Du vor?

von Administrator (Gast)


Lesenswert?

Da gibts schon Anwendungen dafür, zB ein Festplattenpartitionierungstool 
oder ein Recoverytool kann ich mir da vorstellen. Weiß aber auch nicht, 
wie man das sinnvoll lösen könnte.

von Pandur S. (jetztnicht)


Lesenswert?

Windows Kerneldriver ist etwas vom Schwierigsten. Weniger wegen den 
Konzepten, sondern wegen den vermurksten Konzepten und deren maximal 
schlechten Dokumentation.

Es faehngt damit an, dass Intel einen Internet controller passend zu den 
iAPX86 Prozessoren entworfen hatte. Unter Dos hatte der Benutzer, dh der 
Programmierer, noch Zugriff auf die Interrupts, da war noch alles in 
Ordnung. Der Internet controller lief sehr gut, bis Microsoft kam, und 
unter Windows ein komplett schiefes, unpassendes Konzept drueber 
stuelpte. Und seit Windows rauskam wurde der Murks aus 
Kompatibilitaetsgruenden weitergezogen. Bei jeder Version kamen noch ein 
paar weiter Konzeptfehler hinzu.

Falls es etwas werden sollte : http://www.thesycon.de , die koennen 
helfen.

von Hans-Georg L. (h-g-l)


Lesenswert?

Fang hier mal an zu lesen ...

https://msdn.microsoft.com/de-de/library/windows/hardware/ff554690%28v=vs.85%29.aspx

und:

https://msdn.microsoft.com/de-de/library/windows/hardware/ff557573%28v=vs.85%29.aspx

dann kannst du dir noch das Buch kaufen:

Developing Drivers with the Windows Driver Foundation: Reference Book

Und wenn du ein Windows > Vista hast solltest du dann das
Kernel-Mode Driver Framework (KMDF) verwenden. Geht auch unter XP, muss 
aber evtl. wenn nicht auf dem letzten Stand installiert werden.

Viel Spaß ;)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Oh D. schrieb:
> Es faehngt damit an, dass Intel einen Internet controller passend zu den
> iAPX86 Prozessoren entworfen hatte.

Benutzt Du eine sehr merkwürdige Rechtschreibkorrektur, oder schreibst 
Du kompletten Blödsinn?

von Pandur S. (jetztnicht)


Lesenswert?

.. Interrupt controller...

von Administrator (Gast)


Lesenswert?

Ich denke, er meint Interrupt-Controller.

von Peter P. (Gast)


Lesenswert?

Internet Controller -> Interrupt Controller
Vermutlich wieder die 1. Anzeichen vom 1. April. :-)
Letztes Jahr waren dann die Artikel dann auch nicht mehr lesbar...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jetzt fehlt nur noch die Erklärung, warum ausgerechnet ein Kerneltreiber 
den Mauszeiger bewegen soll.

Irgendwie kommt mir diese Idee ziemlich kaputt vor.

von G. H. (schufti)


Lesenswert?

... nö, er will doch die Maus bewegen <duck & wech>

Edit:

wäre doch mal ein interessantes Projekt: am Touchscreen herumfingern und 
die Maus läuft passend übern Tisch

: Bearbeitet durch User
von Kaj (Gast)


Lesenswert?

Wenn du wissen willst, wie man solche kruden hacks auf Kernelebene 
umsetzt, dann frag in Foren wo es um Cheats/Hacks fuer z.B. Counter 
Strike geht.
In der ESL werden auch cheats eingesetzt, und um sich vor den 
Anti-Cheattoosl zu verstecken muessen die im Ring 0 laufen.
Das ist deine Adresse.

von Peter (Gast)


Lesenswert?

Du musst entweder einen Treiber schreiben, der eine virtuelle Maus 
simuliert oder einen Filtertreiber für die richtige Maus.

Für letzteres gibts hier ein Beispiel:
https://github.com/Microsoft/Windows-driver-samples/tree/master/input/moufiltr

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.