Лучший способ заменить текст в глобальном масштабе, за исключением использования SendKeys.Send - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь создать IME (редактор метода ввода) или что-то похожее на это, помогая набирать шрифт ANSI на местном языке.

необходимо заменить некоторые символы, когда пользователь вводит текст в любом месте Windows.(Word, Photoshop Coreldraw и т." с " ú ".Я использую низкоуровневую клавишу для захвата нажатия клавиш и SendKeys.Send для замены символов.

If chkStr = "rE" Then
    SendKeys.Send("{BS}") 'backspace for delete "r"
    SendKeys.Send("{BS}") 'backspace for delete "E"
    SendKeys.Send("ú") 
End If

Это работает.Но некоторые приложения (например, Adobe InDesign) имеют встроенные сочетания клавиш, такие как shift + backspace.когда пользователь вводит "e" с клавишей Shift , он комбинируется с SendKeys.Send ("{BS}")В результате вызывается комбинация клавиш.Я надеюсь, что эксперты здесь могут дать мне решение для этого.

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

...