2009-03-05 6 views
1

트리 컨트롤에서^N 작업을 아래쪽 화살표와 동일하게 만들고 싶습니다.SendKeys 키 수정 자 보내기 및 끄기

SendKeys.Send("{Down}"); 

을하지만 현재 누르면 컨트롤 키 이후 컨트롤 다운 화살표로 취급됩니다 : 난 그냥하여에서 KeyDown 처리기에 다음을 추가해야 할 것 생각했다. msdn page 은 제어 수정자를 켜는 방법을 설명하지만 해제 방법은 설명하지 않습니다.

감사합니다,

답변

4

파티에 늦게 와서 미안하지만 난 해결책을 찾을 생각 :

첫째, 수입 SetKeyboardState을 :

다음
[DllImport("user32.dll")] 
public static extern bool SetKeyboardState(byte[] lpKeyState); 

, 단지 제로화 바이트 배열로 전화 SendKeys.Send를 호출하기 전에() :

SetKeyboardState(new byte[256]); 
SendKeys.Send("your key sequence"); 

저에게는 효과적입니다. 희망이 도움이!

+0

+1 나를 위해 일해도;) – JustLoren

0

키스는 여기에 그것을하는 어려운 방법입니다. 나는 이것이 최선의 방법이 아니라는 것을 인정한다. 나는 당신이 이미 이것을 알고있을 것이라고 확신합니다. 컨트롤 &의 WindProc 메소드를 SendMsg Win32 API를 사용하여 오버로드 할 수 있습니다. 이것은 내가 하루에 다시 일하는 것을 사용하는 방법입니다.

1

keybd_event를 호출하거나 호출 할 수 있습니다. 그러면 키가 "위"와 "아래"상태로 시뮬레이션 될 수 있습니다.