Эмуляция нажатия клавиш

Тема в разделе ".NET", создана пользователем Rema, 11 мар 2008.

  1. Rema

    Rema Гость

    Как программно иммитировать нажатие клавиши ?
     
  2. fenhuan

    fenhuan Гость

    SendKeys.Send(...)
     
  3. Rema

    Rema Гость

    SendKeys хороший метод, только как к нему прицепить коды служебных клавиш,
    например Insert ?
     
  4. fenhuan

    fenhuan Гость

    ну тогда только сканкод посылать, наверное
     
  5. Rema

    Rema Гость

    Win32 API юзать в "безопасном коде" нельзя. Надо ScanCod послать средствами .NET
     
  6. Pasha

    Pasha Гость

    Можно, если у вызывающего кода есть SecurityPermission на UnmanagedCode. Если нет - можно вынести вызывающий код работы с Win32 API в отдельную dll, и через CAS Policy дать этой dll нужные права.
    EDIT: как и сделал MS для SendKeys :)
     
  7. Rema

    Rema Гость

    У меня SendKeys посылает Unicod-аналог скан-кода, а это далеко не то, что хотелось бы
     
  8. Pasha

    Pasha Гость

    Rema
    Unicode-аналог скан-кода? Это как o_O? Что, например, приходит при отправке "{INS}"?
     
  9. Rema

    Rema Гость

    Поставим вопрос так: как передать Keys.Insert в качестве строкового параметра методу SendKeys.Send(keys) ?
     
  10. Pasha

    Pasha Гость

    Rema
     
  11. fenhuan

    fenhuan Гость

    Вот такой код успешно работает:

    Form f = new Form();
    RichTextBox tb = new RichTextBox();
    tb.Dock = DockStyle.Fill;
    f.Controls.Add(tb);
    tb.Click += delegate { SendKeys.Send("{INS}"); };
    f.ShowDialog();

    т.е. SendKeys нормально отрабатывает {INS}
     
  12. Rema

    Rema Гость

    Да, пожалуй срабатывает. Только не понятно как метод определяет, что {INS} соответствует Keys.Insert и где найти соответствия для остальных скан-кодов
     
  13. Pasha

    Pasha Гость

    Rema
    Судя по всему, в MSDN по SendKeys.Send ты даже не заглядывал? Действительно, зачем? Ведь напрячь сидящих на форуме проще, они же удовольствие получают от копипаста документации по используемым тобой функциям.
     
  14. Rema

    Rema Гость

    Напряги с английским. Если бы все ходили в MSDN, тогда зачем нужны русско-язычные форумы ?
     
  15. Rema

    Rema Гость

    RSDN создавался как раз с этой целью, но почему-то переродился в обычный форум
     
  16. Pasha

    Pasha Гость

    Rema
    Наверное потому что довольно скучно на голом энтузиазме переводить кучу технической документации на русский. Особенно если учесть, что для освоения технического английского достаточно потратить месяц-два. Тебе ведь все равно придется его выучить, так зачем оттягивать неизбежное?
     
  17. Rema

    Rema Гость

    Я это к тому, что обычно люди смотрят информацию на родном языке,
    а уж если нет ничего подходящего, лезут в MSDN.
    На всякий случай, для таких же, как, я даю соответсвующую теме инфу:
     
Загрузка...
Похожие Темы - Эмуляция нажатия клавиш
  1. WhiteWolf3D
    Ответов:
    0
    Просмотров:
    1.926
  2. ilya00
    Ответов:
    13
    Просмотров:
    4.218
  3. fanmag
    Ответов:
    4
    Просмотров:
    858
  4. andruxai
    Ответов:
    0
    Просмотров:
    1.438
  5. andruxai
    Ответов:
    0
    Просмотров:
    1.345

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