Derive this class from NativeWindow as shown below. After creating the new class from Class1, you can pass the Handle (like IntPtr) of this class to any native function.
public class Class1: NativeWindow { CreateParams cp = new CreateParams(); public Class1() { // Create the actual window this.CreateHandle(cp); } protected override void WndProc(ref Message m) { if(m.Msg == WM_...) { // Do something here in response to messages return; } base.WndProc(ref m); } }