2011-03-24 4 views
1

자기 카드 판독기의 입력을 잡는 방법을 찾지 못하는 것 같습니다. 그것이 스 와이프되면 입력은 메모장과 같이 활성화 된 텍스트 편집기로 들어갑니다.마그네틱 카드 판독기에서 변수로 캐치 입력

불행히도, 텍스트 상자 대신 텍스트로 레이블을 지정해야하기 때문에 텍스트 상자 필드에 초점을 두지 않아도됩니다. 따라서 USB 장치에서 변수 또는 레이블로 입력을 포착하는 방법이 필요합니다.

누구든지이 또는 더 나은 아이디어를 수행하는 데 사용할 수있는 .NET 클래스를 알고 있습니까?

+0

텍스트 상자를 사용하여 레이블처럼 보이게 포맷 할 수 없습니까? 입력이 끝나면 읽기 전용으로 만들 수 있습니다. – Fernando

+0

그것은 winforms 응용 프로그램입니까? –

+0

네, 윈도우 폼입니다, 사용자는 수동으로 입력 할 수 없습니다. 그래서 텍스트 상자를 사용할 수 없습니다. – Corbee

답변

1

어쨌든 사용자가 수동 입력을하지 못하게 할 것이라고 생각하지 않습니다. 키보드를 에뮬레이션 한 카드 리더가 의심 스럽습니다. 따라서 독자가 읽을 수 있으려면 키보드 입력을 받아야하며 키보드 입력은 사용자가 원하는 것을 입력 할 수 있음을 의미합니다.

가능한 해결책은 카드 판독기를 API를 사용하여 카드 판독기로 변경하는 것입니다.

더 나은 카드 리더를 사용하는 것이 옵션이 아니라면 버튼을 사용하는 것이 가장 좋은 방법이라고 생각합니다. 버튼을 클릭하면 제공된 @Bala R 코드가 포함 된 새 양식을 엽니 다. 그러나 첫 번째 키 입력에서 1 초 이내에 양식을 닫습니다. 이렇게하면 사용자가 수동으로 입력을 변경하는 것을 막을 수 있지만 독자가 완료 할 수있는 충분한 시간을 제공합니다.

4

은 윈폼 당신이

private void Form1_Load(object sender, EventArgs e) 
    { 
     KeyPreview = true; 
     KeyPress += Form1_KeyPress; 
    } 

    private bool inputToLabel = true; 
    void Form1_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if (inputToLabel) 
     { 
      label1.Text = label1.Text + e.KeyChar; 
      e.Handled = true; 
     } 
     else 
     { 
      e.Handled = false; 
     } 
    } 

하고 긴 창에 포커스가 같이 키를 누를 때 문자가 레이블의 텍스트로 이동합니다을 할 수있는 응용 프로그램의 경우.

+0

+1이 장치를 처리하는 프로그램이 텍스트를 편집기에 붙여 넣는 방식입니다. –

관련 문제