Hm... - Do 26.03.09 23:07
Titel: CallBackOnCollectedDelegate wurde gefunden!
Hallo, ich habe ein Problem. Und zwar habe ich Globale Hooks in meinem Programm. Diese werden mit
dieser [
http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx] Klasse erstellt. Wenn ich jedoch auf einen Button klicke und dann irgendeine Taste drücke, bekomme ich eine "CallBackOnCollectedDelegate wurde gefunden!"-Meldung. Woran liegt das? Hier der Code:
C#-Quelltext
1: 2: 3:
| public bool IsActive = false; ... globalKeyboardHook gkh = new globalKeyboardHook(); |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| private void Form1_Load(object sender, EventArgs e) { ... gkh.HookedKeys.Add(Keys.F1); gkh.HookedKeys.Add(Keys.F2); gkh.HookedKeys.Add(Keys.F3); gkh.HookedKeys.Add(Keys.F4); gkh.HookedKeys.Add(Keys.F5); gkh.HookedKeys.Add(Keys.F6); gkh.HookedKeys.Add(Keys.F7); gkh.HookedKeys.Add(Keys.F8); gkh.HookedKeys.Add(Keys.F9); gkh.HookedKeys.Add(Keys.F10); gkh.HookedKeys.Add(Keys.F11); gkh.HookedKeys.Add(Keys.F12); gkh.KeyDown += new KeyEventHandler(gkh_KeyDown); gkh.KeyUp += new KeyEventHandler(gkh_KeyUp); ... } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| private void button2_Click(object sender, EventArgs e) { if (string.Equals(button2.Text, "Hotkeys aktivieren")) { button2.Text = "Hotkeys deaktivieren"; IsActive = true; } else { button2.Text = "Hotkeys aktivieren"; IsActive = false; } } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| void gkh_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.F1 && IsActive) { F1.Send(); e.Handled = true; } if (e.KeyCode == Keys.F2) { F2.Send(); e.Handled = true; } ... } |
Jemand eine Idee? Liegt's an der Klasse oder eher an mir?
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt