Avatar billede mbm2016 Nybegynder
12. januar 2011 - 13:03 Der er 3 kommentarer og
1 løsning

Global Mouse Hooks - Modtag Snabel a

Hej eksperter,

Jeg har siddet og lavet en kode som henter globale tastatur hændelser.

Den henter da også alle bogstaver fint, men når man laver specielle tegn såsom @ $ osv. så virker min kode ikke.

Mit spøgsmål er hvordan jeg får fat i dem?

På forhånd tusinde tak.

Min kode:

void uah_KeyPress(object sender, KeyPressEventArgs e)
        {
            Text = ((int)e.KeyChar).ToString();
           
            if (e.KeyChar == 13)
            {
                keyboardBuffer += Environment.NewLine;
            }
            else if(e.KeyChar == 50)
            {
                if (sa)
                {
                    keyboardBuffer += '@';
                }
            }
            else if (e.KeyChar == 8)
            {
                keyboardBuffer += "<-";
            }
            else if (e.KeyChar == 9)
            {
                keyboardBuffer += "<->";
            }
            else
            {
                keyboardBuffer += e.KeyChar;
            }
            richTextBox1.Text = keyboardBuffer;
        }
Avatar billede heinzdmx Nybegynder
12. januar 2011 - 13:10 #1
Det hedder global keyboard hooks - ikke mouse hooks.

@ er jo ikke en knap for sig selv, det er en kombination af alt gr og 2, derfor skal du i din kode tjekke for dette og så bruge det i stedet for at der bliver indtastet alt gr
Avatar billede mbm2016 Nybegynder
12. januar 2011 - 13:22 #2
Ja det ved jeg godt men jeg kan ikke tjekke om alt gr er nede samtidigt med at jeg tjekker hvilken anden tast der er blevet trykket på?
Avatar billede heinzdmx Nybegynder
12. januar 2011 - 13:40 #3
Fordi du bruger KeyPress kan du ikke tjekke på modifier keys. (CTRL ALT osv.)

Ifølge MSDN:
//If shift key was pressed, it's not a number.
            if (Control.ModifierKeys == Keys.Shift) {
                nonNumberEntered = true;
            }
Avatar billede mbm2016 Nybegynder
12. januar 2011 - 14:32 #4
Har selv fundet ud af det, jeg skulle bare modtage WM_SYSKEYDOWN på det globale keypress keyboard hook :) lukker...
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