Ik ben opzoek naar een manier om 2 hotkeys te gebruiken.
1 hotkey werkt momenteel al. Nu wil ik een tweede registreren en daar een methode aan koppelen.
Ik begrijp echter niet hoe de identificatie van de hotkey werkt. Het lijkt er op imho dat als je welke hotkey dan ook registreert, ja altijd in WndProc komt.
oftwel, kan iemand mij verder helpen?
Momenteel werkt dit dus prima de F8 toets voert de functies uit.
Nu wil ik echter een tweede hotkey invoeren (F9) en die moet een andere methode starten.
Hoe doe ik dat? Heeft dat iets te maken met 0x0312? ik kan namelijk nergens vinden wat de betekenis daarvan is. Het lijkt er echter op dat dat niet de identificatie is van de hotkey.
P.S. ook begrijp ik niet echt wat het volgende doet..
1 hotkey werkt momenteel al. Nu wil ik een tweede registreren en daar een methode aan koppelen.
Ik begrijp echter niet hoe de identificatie van de hotkey werkt. Het lijkt er op imho dat als je welke hotkey dan ook registreert, ja altijd in WndProc komt.
oftwel, kan iemand mij verder helpen?
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| //Benodigd voor het aanmaken van een hotkey [DllImport("user32.dll")] private static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk); //Zodra het programma gestart wordt moeten de hotkeys actief worden. protected override void OnLoad(EventArgs e) { RegisterHotKey(this.Handle, 0,0,0x77); //0x77 = virtual key adress for F8 //RegisterHotKey(this.Handle, 0,0,0x78); //0x78 = virtual key adress for F9 } //Vang de juiste keytoetsen op voordat ze uitgevoerd worden en voer dan eerst de eigen code uit??? protected override void WndProc(ref Message m) { if (m.Msg == 0x0312) { //stop de timer als die nog aan stond timer1.Stop(); //maak i gelijk aan nul zodat de timer weer opnieuw kan beginnen te tellen i = 0; //start nu opnieuw de timerprocedure timer1.Start(); } else base.WndProc(ref m); } |
Momenteel werkt dit dus prima de F8 toets voert de functies uit.
Nu wil ik echter een tweede hotkey invoeren (F9) en die moet een andere methode starten.
Hoe doe ik dat? Heeft dat iets te maken met 0x0312? ik kan namelijk nergens vinden wat de betekenis daarvan is. Het lijkt er echter op dat dat niet de identificatie is van de hotkey.
P.S. ook begrijp ik niet echt wat het volgende doet..
C#:
1
| base.WndProc(ref m) |
[ Voor 10% gewijzigd door ungarmax op 28-07-2005 13:51 ]