Avatar billede dimex Nybegynder
24. oktober 2005 - 20:51 Der er 10 kommentarer og
1 løsning

Keylistener, programet skal udføre handling ved tryk på 1

jeg vil gerne lave et program der checker alle taste tryk, og hvis jeg f.eks. trykker på tasten 5, og kun når jeg trykker på tasten 5 , skal det skrive en tekst
problemet ligger i at få værdien af den trykkede taste aflæst på en eller anden måde, så jeg kan skrive teksten når netop denne taste bliver trykket.
programmet skulle gerne køre i baggrunden.
Avatar billede visualdeveloper Nybegynder
24. oktober 2005 - 21:28 #2
kunne du bruge det ?
Avatar billede plx Nybegynder
24. oktober 2005 - 21:38 #3
Avatar billede visualdeveloper Nybegynder
24. oktober 2005 - 22:06 #4
Dette virker i hvertfald !

fx med x knappen:

private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.X)
Close();
}
Avatar billede plx Nybegynder
24. oktober 2005 - 22:07 #5
det virker også, hvis formen ligger gemt langt væk?
Avatar billede visualdeveloper Nybegynder
24. oktober 2005 - 22:07 #6
og her mad tasten 1
if (e.KeyCode == Keys.D1)

og her med tasten 5
if (e.KeyCode == Keys.D5)
Avatar billede visualdeveloper Nybegynder
24. oktober 2005 - 22:10 #7
> det virker også, hvis formen ligger gemt langt væk?

- nej ok det er så det jeg ikke lige ved, desværre !
Avatar billede driis Nybegynder
24. oktober 2005 - 22:12 #8
Det er en global hook du skal have fat i, hvis det skal virke når programmet ikke har fokus. Plx linker til en artikel om det.
Avatar billede visualdeveloper Nybegynder
24. oktober 2005 - 22:46 #9
ja det er rigtigt...

...mig der ikke har læst spørgsmålet ordentligt !
Avatar billede dimex Nybegynder
25. oktober 2005 - 17:15 #10
mange tak for hjælpen begge 2 (3). Der er i hvertfald noget at arbejde vidre på.
jeg vil gerne give jer begge point men det ser udtil at jeg kun kan give visualdeveloper point. når jeg finder ud af det håber jeg, jeg kan give jer begge
Avatar billede driis Nybegynder
25. oktober 2005 - 18:02 #11
Jeg skal ingen point have for min lille kommentar.
Husk, en global keyboard hook bliver kaldt hver gang der trykkes en tast, før den bliver behandlet af systemet. Derfor skal du: 1) Sørge for at der ikke sker fejl i din hook-rutine; det kan få systemet til at gå ned, og 2) Hook-rutinen skal kunne eksekveres lynhurtigt så det ikke sløver systemet unødigt.

Der er en anden mulighed ved kald til GetAsyncKeyState; men det kræver at dit program tjekker status på tasten ofte, i hvert fald hvert 10. til 50. millisekund. Det er ikke særlig performance-venligt.
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