help! problem with WM_INPUTLANGUAGECHANGE

i wanted to change the input language of a notepad to english (only english), so i sent a WM_INPUTLANGUAGECHNAGE (which is &H51) message to that notepad window . but when the message was sent, the input language of that notepad window wasn't changed to english

see my code
----------------
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Dim notepad As Long, edit As Long

Private Sub Timer1_Timer()
handle = GetForegroundWindow '

edit = FindWindowEx(notepad, 0&, "Edit", vbNullString) ' get the notepad editbox's handle

If edit <> 0 Then
Call SendMessage(edit, &H51, 0, &H409) '<-- send a WM_INPUTLANGUAGCHANGE message to the editbox. &H409 is english language

End If
End Sub
------------------

thanks in advance and sorry about my bad english :D
[1260 byte] By [HopeZ] at [2007-11-20 0:41:03]
# 1 Re: help! problem with WM_INPUTLANGUAGECHANGE
want someone to help T_T
HopeZ at 2007-11-9 19:56:52 >