22. april 2006 - 15:43Der er
9 kommentarer og 1 løsning
Disable af knapper
Hvordan slår jeg CTRL+ESC, ALT+TAP, CTRL+ALT+DELETE og Windows tasterne fra. Har så man ikke kan lukke den med ALT+F4 men man må heller ikke have mulighed for at kunne komme ind i joblisten, eller kunne skifte mellem vinduerne.
Er ved at lave en "beskyttelse" til så børn ikke sider så længe foran computeren i streg, det er et eksamen projekt i teknologi.
"Måden" at gøre det på vil være med et Keyboard hook, og det er ikke indbygget funktionalitet i .NET frameworket. Dvs. det skal gøres med P/Invoke; dr_chaos' link giver god information om hvordan du omsætter Windows API funktionerne til brug i C#.
CTRL+ALT+DELETE er anderledes idet den faktisk fysisk er hooket op til et interrupt; dvs. at denne tastekombination behandles på en helt anden måde end andre tastetryk. Dette sker for at sikre, at computeren _altid_ reagerer på denne tastekombination; ligegyldigt hvad der ellers kører på maskinen. Dvs., Microsoft har lagt en del arbejde i at sikre, at det du gerne vil, ikke kan lade sig gøre.
Der er 2 måder at disable CTRL+ALT+DELETE: - Skrive en custom msgina.dll som er den DLL, der behandler tastetrykket, og erstatte den med den oprindelige. Det er ret kompliceret. - Skrive en custom keyboard driver og installere den. Det er mere kompliceret end første metode.
Begge muligheder giver stor mulighed for at du kan begå fejl, der får maskinen til at blive ustabil eller opføre sig på en anden måde end forventet. Desuden skal begge muligheder implementeres i native kode, altså C eller C++; det er ikke muligt at bruge managed (C# og venner) kode.
Hmm Driis, har kigget det link igennem som dr_chaos har skrevet, og men bare intet finde om det til C#, og heller ikke få noget af det til at funger. ud over lige den C++ kode som der var der inde. Men hvis vi nu bare glemmer CTRL+ALT+DELTE, men bare vil sørge for at alt+tap og de andre taster ikke virker. Kan det vel "nemt" gøres? Jeg kunne vel ikke få dig til at lave en kode til mig så alt+tap og de andre taster er disablet?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.