我把下面這段程式碼打在vb裏去但是按下f5之後確說第一行有錯誤,
請好心的高人幫我看看是什麼原因謝謝
Public Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Public Declare Function ImmIsIME Lib "imm32.dll" (ByVal hkl As Long) As Long
Public Declare Function ImmSimulateHotKey Lib "imm32.dll" (ByVal hwnd As Long, ByVal dw As Long) As Long
Const IME_THOTKEY_IME_NONIME_TOGGLE = &H70
PuBlic Sub Chg2Chinese(ByVal hwnd As Long) '傳入Control項或Form 的hwnd
Dim hkb As Long
hkb = GetKeyboardLayout(0) '取得目前Thread的Keyboard Layout
If ImmIsIME(hkb) = 0 Then '代表不是中文輸入
ImmSimulateHotKey hwnd, IME_THOTKEY_IME_NONIME_TOGGLE '模擬按Strl-Space
End If
End Sub
PuBlic Sub Chg2English(ByVal hwnd As Long) '傳入Control項或Form 的hwnd
Dim hkb As Long
hkb = GetKeyboardLayout(0) '取得目前Thread的Keyboard Layout
If ImmIsIME(hkb) = 1 Then '代表是中文輸入
ImmSimulateHotKey hwnd, IME_THOTKEY_IME_NONIME_TOGGLE '模擬按Strl-Space
End If
End Sub
'以下在Form
Private Sub Form_Load()
Call Chg2Chinese(Me.hwnd)
End Sub
arrow
arrow
    全站熱搜

    vbqa 發表在 痞客邦 留言(2) 人氣()