2015-10-28 1 views
0

У меня есть веб-браузер в VB6, который отображает веб-сайт от сторонней компании. Я пытаюсь вставить текст в текстовых полях этого веб-сайта с кодом:Отправлять ключи в VB6, не работающие в текстовом поле

mainFrm.wbr(1).SetFocus 
SendKeys "10" 

Он работает на большинстве текстовых полей, для одного, который имеет некоторые ключи отключены от яваскрипта несильно, за исключением:

function only_numbers() 
{ 
    var key=window.event.keycode; 
    if (key < 48 || key > 57) 
    { 
     if(key != 44 || key != 8 || key != 46 || key != 96) 
     { 
      window.event.keycode=0; 
     } 
    } 
} 

Is есть способ обойти этот сценарий? Или, может быть, еще один способ установить текст текстового поля?

Заранее спасибо.

+0

получить экземпляр этого браузера, объекты перечислимого типа HTML, найти узел сценария, удалите его. – milevyo

+0

Я попробовал, и команда sendkeys перестала работать. В конце концов я решил это, получив html-идентификатор текстового поля и установив его значение из VB6. Ваш комментарий указал мне в правильном направлении, спасибо! – user769564

ответ

0

Я использую приложение VB6 Desktop, где я работаю. Всегда избегать использования «SendKeys», но использование, использование следующим образом:

SendKeys "{DOWN}" 

Другими словами, при использовании «{» и «}»

Мы также функция под названием «SoNumeros», где он проверяет что конечный пользователь вводит и разрешает только номера.

мы всегда в действии компонента «KeyPress»:

 
Function SoNumeros(KeyAscii, Optional Nao_Aceita_Virgula_ou_Ponto As Integer, Optional ByVal aceitaValoresNegativos As Boolean = True, Optional ByVal aceitaBarra As Boolean = False) 
    If KeyAscii = Asc("-") And Not aceitaValoresNegativos Then KeyAscii = 0 

    If Nao_Aceita_Virgula_ou_Ponto = 0 Then 
     '  If Not (IsNumeric(Chr(KeyAscii))) And KeyAscii 8 And KeyAscii Asc(",") And KeyAscii Asc(".") And KeyAscii Asc("-") Then 
     If Not (IsNumeric(Chr(KeyAscii))) And KeyAscii 8 And KeyAscii Asc(",") And KeyAscii Asc("-") Then 
      If aceitaBarra = False Then 
       KeyAscii = 0 
      Else 
       If KeyAscii Asc("/") Then 
        KeyAscii = 0 
       End If 
      End If 
     End If 
    Else 
     If Not (IsNumeric(Chr(KeyAscii))) And KeyAscii 8 And KeyAscii Asc("-") Then 
      If aceitaBarra = False Then 
       KeyAscii = 0 
      Else 
       If KeyAscii Asc("/") Then 
        KeyAscii = 0 
       End If 
      End If 
     End If 
    End If 
End Function 

Я надеюсь, что это помогло вам

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