2011-02-23 2 views
0
Private Const WM_KEYDOWN = &H100 
Private Const WM_KEYUP = &H101 
Private Const VK_BACKSPACE = &H8 

Private Overloads Shared Function SendMessage(ByVal hWnd As IntPtr, _ 
ByVal msg As Integer, ByVal wp As IntPtr, ByVal lp As IntPtr) As IntPtr 
End Function 

И я отправить сообщение, как это:SendMessage (backspace) не работает!

SendMessage(windHandle, WM_KEYDOWN, CType(VK_BACKSPACE, IntPtr), CType(&HC0510001, IntPtr)) 
SendMessage(windHandle, WM_KEYUP, CType(VK_BACKSPACE, IntPtr), CType(&HC0510001, IntPtr)) 

Я allso попытался с keybd_event как раз перед этим один:

Call keybd_event(&H8, MapVirtualKey(&H8, 0), 0, 0) 
Call keybd_event(&H8, MapVirtualKey(&H8, 0), KEYEVENTF_KEYUP, 0) 

Может кто-нибудь помочь? Спасибо!

+0

Сообщения на клавиатуре отправлены, а не отправлены. Вы не можете получить его надежным, вы не можете управлять состоянием ключей модификатора. keybd_event() в порядке, но приложение должно иметь фокус. То же самое с SendKeys. –

+0

@ Hans Passant Я знаю это, но все остальные ключи работают нормально! ENTER, CTRL + V, CTRL + A, UP, DOWN, ... только Backspace меня беспокоит! – FeRtoll

ответ

0

решил это ... это была моя ошибка! моя функция не загоралась из-за какого-то сумасшедшего старого кода boolean!

, так что если кому-либо понадобится это выше, sendmessage отлично работает для backspace!

извините, ребята :)

Смежные вопросы