Sendkeys

Тема в разделе "Lotus - Программирование", создана пользователем T1000, 19 май 2010.

  1. T1000

    T1000 Гость

    Доброго всем!

    Заранее извиняюсь за возможность кривого изложения моих желаний, поэтому начну издалека.
    Вопрос первый. Как правильно пользоваться функцией "SendKeys", ибо даже пример из хелпа выдает ошибку "Illegal fuction call".
    Буду просто премного благодарен за разъяснения, где\как и при каких условиях можно пользоваться данной функцией.

    Вопрос второй. При работе документами в базе, время от времени приходится загружать библиотеку (dll). При инициализации оной dll выскакивает обычный messagebox. Как сэмитировать нажатие на него кнопки Enter, чтобы этим не заморачиваться.
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    это какое-то хакерство :RTFM:
    а нет ли библиотеки без оной особенности, но с нужным функционалом - может стоит так решить "проблему"
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Справку внимательно читали?
    SendKeys is not supported on Macintosh and UNIX platforms and is not supported in Lotus Domino and Notes.
    Если речь о винде, то можно попробовать WinAPI: keybd_event
    Код (Text):
    Declare Public Sub keybd_event Lib "user32" (Byval bVk As Byte, Byval bScan As Byte, Byval dwFlags As Long, Byval dwExtraInfo As Long)

    Public Const KEYEVENTF_KEYDOWN = &H0
    Public Const KEYEVENTF_KEYUP = &H2
    Public Const VK_RETURN = &HD ' ENTER key

    Sub Enter()
    keybd_event VK_RETURN, 0, KEYEVENTF_KEYDOWN, 0
    keybd_event VK_RETURN, 0, KEYEVENTF_KEYUP, 0
    End Sub
     
  4. T1000

    T1000 Гость

    2nvy конечно же я прочел предварительно справку. вопрос - на фиг тогда вообще эта функция нужна?
    с винапи щас буду пробовать. (но заранее "спасибо" все равно скажу!)
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    T1000
    есть ещё КОМа :RTFM:
     
  6. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    вопрос не по адресу. это к спецам по win api.
    для начала можно почитать здесь: http://bytes.com/topic/c-sharp/answers/820...-dialog-appears
    по ссылке: понравилась мысль, что не нужно ставить hook - достаточно по таймеру проверять, что окно всплыло и гасить его.
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Help (вместе с LS) унаследован от другого продукта (SmartSuite ?)
     

Поделиться этой страницей