public void SetIMEWindowLocation(int x, int y)
 {
     if (Ime.disableIME || this.hIMEWnd == IntPtr.Zero)
     {
         return;
     }
     Ime.POINT pOINT = new Ime.POINT()
     {
         x = x,
         y = y
     };
     Ime.COMPOSITIONFORM cOMPOSITIONFORM = new Ime.COMPOSITIONFORM()
     {
         dwStyle      = 2,
         ptCurrentPos = pOINT,
         rcArea       = new Ime.RECT()
     };
     try
     {
         Ime.SendMessage(this.hIMEWnd, 643, new IntPtr(12), cOMPOSITIONFORM);
     }
     catch (AccessViolationException accessViolationException)
     {
         this.Handle(accessViolationException);
     }
 }
 private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, Ime.COMPOSITIONFORM lParam);