Entwickler-Ecke
Windows API - Maus(klick) deaktivieren
Jakob Schöttl - Mi 21.10.09 16:42
Titel: Maus(klick) deaktivieren
ja, hallo mal wieder!
ich weiß jetzt denken sich gleich wieder viele "ist nicht sinnvoll, verraten wir nicht..."
aber hier gehts um das
Touchpad vom Notebook, das ich mit Tastenkombination (z.B. Strg+AltGr+.) deaktivieren bzw. wieder aktivieren will, dass beim Tippen nicht ständig unabsichtlich geklickt wird, wenn man mit den Handballen das Touchpad berührt.
Mir würde es auch reichen, nur die Klicks zu deaktivieren oder iwie global abfangen.
Im Thread
Maus deaktivieren [
http://www.delphi-forum.de/viewtopic.php?t=18129&highlight=maus+deaktivieren] sind die Vorschläge:
- ClipCursor // bringt nichts, weil ja immer noch
geklickt werden kann.
- Deklaration von BlockInput aus 'user32.dll' funktioniert bei mir syntaktisch nicht, und blockt wahrscheinlich auch die Maus und Tasta
- 'rundll32.exe Mouse,Disable' läuft bei mir auch nicht, und deaktiviert ja die Maus anscheinend auch bis zum Neustart.
hat noch jemand eine andere Idee? Gibts noch eine andere Möglichkeit?
Danke schon mal...
PS: Es gibt natürlich auch einen Treiber für das Touchpad aber der kann nicht viel, und v.a. eben keinen Shortcut zum deaktivieren.
Sinspin - Mi 21.10.09 17:19
Auch wenn du es für deinen Zweck brauchst ist es trotzdem für jemand anderen eine schöne Anleitung jemanden zu ärgern oder schlimmeres.
Mal davon abgesehen, alle Notebooks die ich mir in letzter Zeit angesehen habe, hatten einen Schalter am Touchpad womit man dieses einfach abschalten konnte.
Ansonsten: wenn du an die globalen Koordinaten kommst an denen sich die Maus gerade befindet könntest du eine Anwendung schreiben die ein Fenster hat das nur einen Pixel groß ist und immer genau unter dem Pixel liegt auf den die Maus gerade clicken würde wenn dies getan wird. Die Anwendung folgt also der Maus.
ALF - Mi 21.10.09 17:20
Hi,
da dein touchpad ne separaten treiber bzw exe ist, kannst du die exe beenden und dann wieder starten, das ganze müsste über schellexec oder so gehen! Genau müsste ich mir selber noch mal anschauen!
Hoffe das der Tip richtig ist!
Gruss Alf
Jakob Schöttl - Mi 21.10.09 18:06
Also mein Notebook hat keinen Schalter zum ein/ausschalten des Touchpads.
Das mit dem Fenster wär zwar unsauber, aber könnte ich vllt zur Not machen. Nur müsste ich das Fenster dann TOPMOST machen und gleichzeitig "nicht-aktivierbar", sonst hat ja mein anderes Fenster wo ich grade tippe nicht mehr den Fokus.
ich glaub bei mir ist der Treiber fürs Touchpad kein Prozess (exe) den ich einfach beenden und neu starten könnte. Jedenfalls hab ich im taskmgr.exe nichts gefunden...
ALF - Mi 21.10.09 19:02
oh,
Wenn du ein Ladenschleppi hast mit Vorinstall Vista, dann wirst du die exe nicht finden, da Vista meisten den eigenen Treiber fürs Touchpad installiert und nicht den Hersteller Treiber nimmt!
1.Möglichkeit, den original treiber(exe, heist meistens auch mouse - touch pad.exe oder so, installieren und dann über shellexes weiter machen)
2.Möglichkeit, im System nachschauen welcher Treiber für dein Pad ist, dann kannst du über api den rest machen!
Hab das früher mal über scribting gemacht, leider ewig her :x daher weis ich das noch :wink:
Gruss Alf
Yogu - Mi 21.10.09 22:07
Du könntest doch einfach ein Fenster erstellen, bei dem AlphaBlend eingeschaltet ist (und AlphaBlendValue auf 1 gestellt wurde). :idea:
thepaine91 - Do 22.10.09 09:17
Oder einen Hook schreiben und alles Abfangen.
Martok - Do 22.10.09 11:32
thepaine91 hat folgendes geschrieben : |
Oder einen Hook schreiben und alles Abfangen. |
Bisher die erste sinnvolle Antwort.
Entweder, der Treiber hat ein irgendwie geartetes API, oder nicht. Dann: Mousehook bauen und ggf. die Ereignisse ins Nirvana schicken.
Jakob Schöttl - Do 22.10.09 22:45
ALF hat folgendes geschrieben : |
1.Möglichkeit, den original treiber(exe, heist meistens auch mouse - touch pad.exe oder so, installieren und dann über shellexes weiter machen)
2.Möglichkeit, im System nachschauen welcher Treiber für dein Pad ist, dann kannst du über api den rest machen! |
also bei mir (xp) ist da kein solcher Prozess, obwohl ich gestern einen Treiber installiert habe.
das mit API weiß ich nicht wie und ob geht...
Yogu hat folgendes geschrieben : |
Du könntest doch einfach ein Fenster erstellen, bei dem AlphaBlend eingeschaltet ist (und AlphaBlendValue auf 1 gestellt wurde). :idea: |
nun das geht ja nicht, weil dann mein Fenster wo ich tippe den Fokus verliert...
thepaine91 hat folgendes geschrieben : |
Oder einen Hook schreiben und alles Abfangen. |
ok, Hook schreiben kann ich auch nicht ^^ und ich glaub das ist es mir dann auch nicht wert, dass ich mich da stunden-/ oder tagelang einarbeite.
trotzdem danke für die Tipps!
Yogu - Do 22.10.09 23:07
Jakob Schöttl hat folgendes geschrieben : |
Yogu hat folgendes geschrieben: | ][post(582077)]Du könntest doch einfach ein Fenster erstellen, bei dem AlphaBlend eingeschaltet ist (und AlphaBlendValue auf 1 gestellt wurde). :idea: |
nun das geht ja nicht, weil dann mein Fenster wo ich tippe den Fokus verliert... |
Oh sorry, da hab ich nicht mitgedacht. :oops: Man könnte das Fenster zwar irgendwie anders zeichnen, aber dann könnte man auch durch es hindurch klicken. Läuft wohl oder übel auf ein Hook raus ;)
thepaine91 - Do 22.10.09 23:49
Ist doch Interessant sich darin einzuarbeiten ;) vil bekomm ich ja auch einen Anflug von Programmierwahn, was öfter mal vorkommt, und schreibe was für dich. ^^
SchwiegerSohn - Fr 23.10.09 13:33
Also ich persönlich hab bis jetzt noch kaum ein neueres Laptop gesehen( sagen wir Spanne, um die 3 Jahre), an dem sich das Touchpad nicht abschalten ließ...
Wenn es kein schalter hat, dann kann man es über die FN ( Funktions Taste ) und der dazu gehörigen gegentaste machen ;) Meist ist da eine Maus drauf, oder ein TouchPad...
Bei Siemens Fujitsu ist es FN + F4 ;)
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
elundril - Fr 23.10.09 13:38
SchwiegerSohn hat folgendes geschrieben : |
Bei Siemens Fujitsu ist es FN + F4 ;) |
oder Fn + F6 (Fujitsu Siemens Amilo Xi2428)
Delete - Fr 23.10.09 14:12
Bei ACER:
Fn + F7
Jakob Schöttl - Fr 23.10.09 19:17
ok, ich hab Fujitsu, Fn+F6 ist die Funktion für die Maus
allerdings wird das Touchpad nur deaktiviert wenn eine andere Maus angeschlossen ist. Wenn nicht, dann tut sich da gar nichts (obwohl der Tochpad-Treiber installiert ist).
elundril - Fr 23.10.09 19:18
dann hast du nen seltsamen fujitsu. meiner deaktiviert das Touchpad immer. egal ob maus da oder nicht. schon treiberupdate versucht?
elundril - Fr 23.10.09 20:31
dann entweder bei Fujitsu anfragen obs da ne lösung gibt,
oder
das Hook-Tutorial von Asserbad runterladen. Da steht eigentlich schon fast alles fast fertig drin. Der Rest dürfte nicht zu lange dauern. ;)
lg elundril
Jakob Schöttl - Fr 23.10.09 20:56
ok, guter Tipp, ich frag mal bei denen.
Ja und wenn ich mal Zeit hab dann mach ich vllt so einen Hook ...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!