求这个C++ 的C#代码
public   int   MyHookProc(int   code,   IntPtr   wparam,   IntPtr   lparam) 
                         {    
                                     LPMSG   lpMsg   =   (LPMSG)lParam; 
                                     if   (wparam.ToInt32()   ==   PM_REMOVE) 
                                     { 
                                                 //   Don 't   translate   non-input   events. 
                                                 if   (lpMsg-> message   ==   WM_KEYDOWN) 
                                                 { 
                                                             if   (IsDialogMessage(hDlg,   lpMsg)) 
                                                             { 
                                                                         //   The   value   returned   from   this   hookproc   is   ignored, 
                                                                         //   and   it   cannot   be   used   to   tell   Windows   the   message   has   been   handled. 
                                                                         //   To   avoid   further   processing,   convert   the   message   to   WM_NULL 
                                                                         //   before   returning.   
                                                                         if   (lpMsg-> wParam   ==   VK_RETURN   &&   GetKeyState(VK_CONTROL)   &   0x80) 
                                                                         { 
                                                                                     SendMessage(hDlg,   WM_SEND_MESSAGE_SMS,   NULL,   NULL); 
                                                                                     //return   CallNextHookEx(m_hook,   nCode,   wParam,   lParam); 
                       &nbs