2011-01-11 7 views
3

http://inputsimulator.codeplex.com/에서 호스팅되는 프로젝트를 사용하고 있습니다. 실제로 어떤 키가 눌러 졌는지 SendKeys에 기본 Microsoft 키보드 입력 코드를 사용합니다.winforms 응용 프로그램은 포커스없이 사용자 입력을 받아 들일 수 있습니까?

Microsoft의 도구, 화상 키보드와 같은 키보드 기능을 수행하기 위해 winform을 키보드로 사용해야하는 경우 편집해야하는 응용 프로그램에 초점을 맞춰야합니다.

예를 들어 Word에서 문서를 입력해야하므로 포커스가 있습니다. 그러나 양식 단추를 클릭하면 포커스가 내 양식으로 전송되고 아무 것도 Word에 쓰여지지 않습니다.

그래서 ...

는 내가 원하는 초점을하지만, 기능적으로 수행하지 않는 양식 컨트롤을 만드는 것입니다.

+0

질문을 끝내기를 원할 수도 있습니다. –

+0

질문을해야합니다. ;) –

+0

매트 볼 (Matt Ball)의 의미는 실제로 질문을하지 않았다는 것입니다. 무엇을 시도했는지, 작동하지 않는 것은 무엇입니까? 설명하는 두 가지 기술에 익숙하지 않은 사용자에게 조금 더 설명 할 수 있습니까? "마이크로 소프트 키보드가하는 것처럼"- 우리는 마이크로 소프트 키보드가 어떻게 작동하는지 이해하고 있다고 가정하고 있습니다. 문제를보다 자세하게 설명하고 문제를 해결하기 위해 취한 접근법에 대해 간략하게 설명하며 성공을 방해하는 특정 문제에 대한 구체적인 질문을하십시오. –

답변

2

WS_EX_NOACTIVATE 창 스타일 플래그는이 작업을 수행하도록 설계되었습니다. 다음은이를 구현하는 샘플 양식입니다.

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     this.TopMost = true; 
    } 
    protected override CreateParams CreateParams { 
     get { 
      var cp = base.CreateParams; 
      cp.ExStyle |= 0x08000000; // Turn on WS_EX_NOACTIVATE; 
      return cp; 
     } 
    } 
} 
+0

멋진 작품 –

관련 문제