// Using NativeWindow public class FormHook : NativeWindow { // some implementation protected override void WndProc(ref Message m) { switch (m.Msg) { // others messages that works on hooked form e.g : // mouse message, paint message, etc. // fired perfectly. case 0x0100: // WM_KEYDOWN case 0x0104: // WM_SYSKEYDOWN case 0x0101: // WM_KEYUP case 0x0105: // WM_SYSKEYP // these event never fired. break; default: base.WndProc(ref m); break; } } } // Using Form public class AForm : Form { // some implementation protected override void WndProc(ref Message m) { switch (m.Msg) { // others messages e.g : mouse message, paint message, etc. // fired perfectly. case 0x0100: // WM_KEYDOWN case 0x0104: // WM_SYSKEYDOWN case 0x0101: // WM_KEYUP case 0x0105: // WM_SYSKEYP // these event fired perfectly. break; default: base.WndProc(ref m); break; } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)