Maus, Tastatur mit C++ verbieten
lima-city → Forum → Programmiersprachen → C/C++ und D
abfangen
achtung
befehl
bild
boot
code
dank
dingern
eigene gefahr
ereignis
erweitern
http
idee
maus
neustart
problem
programm
schleife
system
tastatur
-
Ich habe mal ne frage ... also:
Wir haben in der schule mit C++ angefangen. Ich und ein Freund sind meistens früher fertig und uns überkommt die Langeweile, ich denke von euch kennt das jeder,man hatt dann immer die verücktesten ideen. Naja zu meiner Frage wir sind auf die Idee gekommen eine schleife zu schreiben aus der man nimmer rauskommt ohne PC reboot. Naja die schleife ist ja kein problem aber man kann es immer noch mit der maus bzw mit der tastartur wegdrücken. So nun bräuchten wir nen befehl um maus un tastartur zu verbieten oder ausschalten sobald das programm offen ist. Gibt es so ein befehl kennt ihr vll einen. Ham in Google nichts gefunden.
Es gibt auch so ne seite nichtklicken.de da kommt man auch mit reboot raus ....
Wäre nett wenn ihr mir helft. Zum abschluss nochmal ihr helft nicht nur das programm zu schreiben sondern auch meinen lehrer zu ärgern
mfg LOki -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
klar
zunächsteinmal: habt ihr konsolen oder programmmodus drin?
Also ich habe mit SDL einmal einfach einen schwarzen hintergrund ausgegeben und dann die Maus deaktiviert (du kannst sie ja auch schwarz machen^^) Danach einfach, if ESC lade die seite... -
@raubritta: es gibt dann immernoch ALT+TAB und STR+ALT+ENTF
Vll geht es wenn du diese beiden Tastenkombinationen belegst, was ich bezweifle... -
das hilft mir nicht sonderlich weiter aber danke für den versuch
Beitrag geändert: 21.12.2007 12:34:43 von lokishomepage -
Ok danke
-
Such mal nach System Hooks.
Damit kannst du bestimtme ereignisse abfangen und auf dein programm umleiten lassen.
Aber Achtung: Mit den Dingern kann sich das System zerschießen.
Ich habe so die Befürchtung, dass er genau das vorhat. -
profilmyspace schrieb:
ich hab in meinen programmen immer die boot.ini geändert, da kann man immer lustige nachrichten hinterlassen.
aber da is keiner draufgekommen dass ich es war, hab nämlich ein komplettes rechenprogramm mit ein stück code erweitern und so wurden sie nach dem neustart immer überrscht
Was hat das mit dem Thema zu tun?
Also zu deinem Problem, ich kenne mich nicht Profimässig in C++ aus, bin jedoch daran es besser kennen zu lernen.
Zu deinem Problem, du musst ein Systemweiter Hook setzten, das ist das was ich über Google rausfinden konnte.
http://www.activevb.de/tutorials/tut_keylogger/keylogger.html
http://www.activevb.de/tutorials/tut_keyboardhook/tut_keyboardhook.html
Das sind 2 Beispiele in Visual Basic geschrieben, jedoch lässt sich ein Systemweiter Hook nicht mit VB realisieren, dafür benötigt man eine DLL z.B. in C++ geschrieben, jedoch wird dort mal noch gut erklärt wie das ganze Funktioniert.
http://allapi.mentalis.org/vbexamples/vbexample.php?vbexample=DSKEYBRD&category=MISC
Auf dieser Seite findest du ein Programm mit welchem du die Tastatur sperren kannst, wenn du es noch schaffst die Maus zu sperren, dann ist gut, weil mit dem Programm lässt sich gleich wohl noch Ctrl+Alt+Del benutzten um den Taskmanager aufzurufen.
Des weiteren kann ich dir nur sagen, benutzte Google und such nach Systemweitem Hook oder einfach System Hook.
Idee für die Maus, du kannst der Maus auch einfach kein Bild geben oder das Bild transparent machen, durch das weiss der Benutzter nicht direkt wo die Maus ist...
http://www.activevb.de/tipps/vb6tipps/tipp0413.html
Dies könnte dich auch noch interessieren, ist zwar nicht in C++ sondern in VB jedoch kannst du es vielleicht umschreiben!
mfg Lukas -
Probierts doch einfach mal mit der API - Funktion BlockInput ! :P
DAMIT funktionniert auch kein Taskmanager mehr ;)
Funktionniert auch ganz einfach :
#include <windows.h> #include <winable.h> int main() { BlockInput(1); }
Aber Achtung !!! Der Code, wenn du ihn so ausführst, lässt dich nicht mehr raus. Da is dann Ende, ein Neustart wird fällig -
also die maus ist am einfachsten,
einach mit einem globalen hook die derzeitige position abfragen und in einer endlosschleife, die position vom der maus wieder auf diese setzten, vl in einer verzögerung von 100ms,
falls derjenige die maus bewegt, wird sie kurz \"zittern\" aber die jetzige position nicht verlassen können,
wenn ich mich noch genau errinere geht das glaub ich mit setCursorPosition(x,y);
ka was man dafür aber includiern muss, müsstest mal kurz googeln.
-
Da musste die windows.h includieren ;)
Und mit dem BlockInput isses viel einfacher
mfg dapizzafressa -
Jop hast recht, kann mir jemand das fertig kompilierte mal schickn? vl. per mail oder so?
hab keinen compiler leider, und mag mir nur wegen dem keinen anschaffen -
Ich schreib das nächste woche mal kommt wenns funkt kommts auf meine hp ich sach dann nochmal bescheid ;)
-
So ich hab mal denn Code Compiliert, aber ich übernehme keine Verantwortung beim ausführen!
ACHTUNG:
DIESES PROGRAMM BLOCKIERT MÖGLICHERWEISE BEIM AUSFÜHREN DIE TASTATUR UND DIE MAUS!
BENUTZUNG AUF EIGENE GEFAHR!
http://rapidshare.com/files/81723244/BlockInput.exe
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <winable.h> int main(int argc, char *argv[]) { BlockInput(1); return 0; }
Überigens das ist jetzt in C und nicht in C++ geschrieben!
mfg Lukas
Beitrag geändert: 6.1.2008 16:14:42 von klasset -
@ profilmyspace : Lad dir doch einfach MinGW ... ist kostenlos ... und dann kannste auch richtig C / C++ \'n
ACHTUNG:
DIESES PROGRAMM BLOCKIERT MÖGLICHERWEISE BEIM AUSFÜHREN DIE TASTATUR UND DIE MAUS!
BENUTZUNG AUF EIGENE GEFAHR!
Also, wenn das Programm das ganze nur MÖGLICHERWEISE macht, dann hast du was falsch gemacht :)
Es sei denn er nutzt die Grundlagen der Quantenphysik..aber dann wäre der Quelltesxt etwas..kurz.^^
Beitrag geändert: 6.1.2008 20:49:49 von adrians -
Nun ist aber gut hier... jetzt habt ihr dem Thread die schöne pädagogische Seite genommen weil der Threadersteller sein Progrämmchen nicht mehr selbst schreiben muss
**CLOSED**
MfG,
thw -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage