2012-12-17 3 views
1

나는 "ctrl + g"을 누를 때 프로그램이 자동으로 모든 프로그램 (예 : 크롬 브라우저, 워드 문서, 파워 포인트 문서 등)의 커서 왼쪽에있는 문자를 자동으로 삭제하도록하는 간단한 C# 프로그램을 작성합니다. ..). "ctrl + g"에 대한 전역 후크를 설치했으며 정상적으로 작동합니다. 내가 CodeProject의에서 발견 키보드 시뮬레이터를 사용하고 있습니다 :C# backspace simulator - 문자 대신 전체 단어를 삭제 하시겠습니까?

KeyboardSimulator.KeyPress(Keys.Back); 

전체 단어 대신 커서의 왼쪽에 단지 문자의 삭제 : http://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library 내 문제는 내가 백 스페이스과 같이 시뮬레이션 할 때이다. 예를 들어, 다음 텍스트 줄을 사용하여 Microsoft Word 문서에있는 경우 "Happy new year" 커서가 "year"끝에 있고 Ctrl + g을 누르면 내 프로그램에서 "year"를 삭제하고 "year"의 문자 "r"을 삭제하는 대신 "new"의 오른쪽에 커서를 놓습니다. 다른 시뮬레이터와 동일한 결과를 시도했습니다. 누구든지 해결책을 가지고 있습니까, 아니면 제가 잘못하고있는 것을 알고 있습니까? 감사합니다. .

+0

누군가가 도울 수 있기 전에 코드를 보여줘야 할 것입니다. –

+3

왜'SendKeys'가 필요한 작업을 할 때 "KeyboardSimulator"로 귀찮게합니까? 후크를 설치하고 후크가 부딪 칠 때 send 키를 사용하십시오. 'SendKeys.Send ("{BACKSPACE}"); ' –

답변

7

분명히 Ctrl + Backspace는 일반적으로 Windows에서 전체 단어를 삭제한다는 의미입니다. Ctrl + g을 누르고 훅이 백 스페이스 키를 시뮬레이트하면 Ctrl 키가 눌러져 있기 때문에 프로그램에 Ctrl + Backspace가 표시됩니다.

+0

감사합니다. shift + g 바로 가기를 바꿨고 효과가있었습니다. 또한 단축키로 ctrl + g를 유지하는 방법은 다음을 추가하는 것입니다. KeyboardSimulator.KeyUp (Keys.Control); – user1521111

관련 문제