2008-10-28 10 views
2

Как можно было бы зафиксировать нажатия клавиш в SMS-композиторе на Symbian OS, в частности, для Nokia N73 (или любого из поддерживаемых symbian устройств http://en.wikipedia.org/wiki/Symbian_OS#Devices_that_have_used_the_Symbian_OS)? Я новичок в разработке symbian, и я пытаюсь написать приложение для анализа стилей написания тех, кто отправляет SMS. Любая информация (или толчок в правильном направлении) будет отличной.Capture Keystrokes на Symbian OS?

Большое спасибо,

ответ

2

На самом деле вы можете записывать нажатия клавиш, предназначенные для любого приложения в ОС Symbian. RWindowGroup::CaptureKey() и RWindowGroup::CaptureLongKey() позволяют вашему исполняемому устройству захватывать ключи из любого приложения, независимо от того, находится ли у вас на переднем плане или нет. Однако в этом случае это может оказаться утомительным - эти две функции работают путем захвата определенных кодов клавиш и комбинаций модификаторов, поэтому вам нужно будет настроить множество захватов для обработки всех комбинаций клавиш в композиторе SMS.

Вам также необходимо передать мероприятие композитору SMS после того, как ваш exectuable захватил его. В то время как номинально возможно использование RWsSession::SendEventToWindowGroup() или TApaTask::SendKey(), существуют сложности, связанные с тем, что события поступают в правильном порядке (например, клавиша вниз, ключевое событие, клавиша вверх) и поведение разных FEP (передних процессоров) для ввода пользователем.

Таким образом, хотя номинально возможно выполнить то, что вам нужно, как указано выше, было бы утомительно реализовать и протестировать, гранича с рискованным. Если все, что вы хотите сделать, - это проанализировать стиль записи для сбора данных (а не в приложении с продуктом), вам может быть лучше написать собственный SMS-композитор. На веб-сайте редакторов Nokia и отправке SMS есть множество примеров.

1

Ну, есть несколько уровней в ответе на ваш вопрос.

  • Нажатие на клавиши фактически захватывается приложением редактора сообщений. Таким образом, либо он предоставляет API для подачи всех ваших нажатий клавиш (вы можете искать один на http://forum.nokia.com. Вы найдете API-интерфейс редактора сообщений, но он будет в основном касаться повторного использования элементов управления графическим интерфейсом, а не того, что вы ищете) или вам потребуется прозрачное приложение, которое остается на переднем плане и захватывает нажатия клавиш, прежде чем загружать их обратно в любое приложение, находящееся прямо за ним. К счастью (по очевидным соображениям безопасности), Symbian OS не позволит вам делать это позже.

  • Вы можете, однако, иметь собственное приложение для чтения сообщений, когда они сохранены в памяти телефона: когда они сохранены в папке «Черновик» или в «Исходящие SMS».

Обязательным бесстыдный штепсель: Я советую читать эту главу сообщениями о http://www.quickrecipesonsymbianos.com для того, чтобы понять, как использовать Symbian Message магазин

Классы, представляющие интерес в вашем случае являются: CmsvEntry, CMsvSession, MMsvSessionObserver , CMsvOperation и CSmsClientMtm.

1

Относительно примечания - есть ли API, который может обнаруживать все нажатые клавиши одновременно, когда я печатаю на своем телефоне Symbian в расстройстве на своих API-интерфейсах? ;-)

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

  • Нет связанных вопросов^_^