Avatar billede noxiaz Nybegynder
22. april 2006 - 15:43 Der 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.
Avatar billede noxiaz Nybegynder
22. april 2006 - 16:10 #2
Hmmm.. Kiggede linket igennem, og endte med en kode til at gøre det i C++ ;) og det kan jeg ikke bruge til så meget :P
Avatar billede dr_chaos Nybegynder
22. april 2006 - 16:24 #3
det ved jeg .
men det nederste link er c#
Avatar billede mac2 Nybegynder
22. april 2006 - 19:58 #4
Kan hjælpe med at få ALT+F4 slået fra, men kan heller ikke hjælpe med mere, så jeg håber du er klog nok til at kunne vider udvikle det.

efter "InitializeComponent();" skal du skrive:
this.KeyDown += new KeyEventHandler(DinForm_KeyDown);

og derefter bruge denne kode:


  void DinForm_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Alt && e.KeyCode == Keys.F4)
            {
                e.SuppressKeyPress = true;
            }
            else
            {
                e.SuppressKeyPress=false
            }

        }

Ved ikke om der er andre muligheder, men den kan du hvert fald bruge
Avatar billede noxiaz Nybegynder
22. april 2006 - 23:06 #5
J
Avatar billede noxiaz Nybegynder
22. april 2006 - 23:06 #6
Jeg har så man kan bruge alt+f4, og kan heller ikke få det script til at virke. Så fik et Close protect script
Avatar billede dr_chaos Nybegynder
23. april 2006 - 07:44 #7
Du kan købe en ekstern app som kan gøre det for dig.
Det er ikke nemt i c#
Avatar billede driis Nybegynder
23. april 2006 - 15:33 #8
"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.
Avatar billede noxiaz Nybegynder
23. april 2006 - 16:07 #9
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?
Avatar billede noxiaz Nybegynder
16. maj 2006 - 18:34 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester