Microsoft MVP성태의 닷넷 이야기
한글 키보드 입력에 대해서 질문이 있습니다. [링크 복사], [링크+제목 복사],
조회: 23381
글쓴 사람
이상준 (helmet97 at gmail.com)
홈페이지
첨부 파일
 

제가 만든 프로그램에서 크롬 브라우저를 띄우고 네이버 메인(www.naver.com)화면으로 이동하여 검색 텍스트박스에 한글 자동 타이핑 기능을 넣을려고 합니다.

현재 진행 상황은 한글의 자소를 분리하여 keydb_event 함수를 이용하여 한글이 타이핑 되는 형태까지는 구현을 하였으나

한글을 타이핑 하는 중에 포커스를 가진 크롬브라우저에서 다른 프로그램 창으로 포커스가 이동했을 시에 키 입력 이벤트가 포커스로 간 프로그램으로 발생하여

타이핑이 제대로 되지 않네요.

포커스가 있던 없던 크롬 브라우저로 자동으로 한글 타이핑되게 하고 싶은데

어떻게 해야 할지 감이 안오네요. 조언 좀 부탁드립니다.








[최초 등록일: ]
[최종 수정일: 12/23/2015]


비밀번호

댓글 작성자
 



2015-12-23 12시50분
그게 정상이고 어쩔 수 없는 부분입니다. 대신 구현을 다른 방향으로 하는 것이 어떨까 싶은데요. 크롬측으로 데이터 보내는 것을 그런 식으로 하지 마시고 크롬 브라우저 확장을 만들어서 해보세요. 확장 플러그인에서는 보다 더 자유롭게 텍스트 박스에 값을 입력할 수 있을 것입니다. (포커스 이동 문제같은 것에서 자유롭겠죠!)
정성태
2015-12-23 12시21분
[이상준] 크롬 브라우저 확장으로 하는 방법 말고는 없는지요? Selenuim C# (http://scraping.pro/example-of-scraping-with-selenium-webdriver-in-csharp/) 라이브러리를 이용하면 웹 페이지의 텍스트 박스 DOM을 가져와서
SendKeys라는 함수를 통해 한글 문장을 입력 할 수 있습니다. 예로 DomElement.SendKeys("한글입니다.") 이렇게 하면 검색 텍스트 박스에 문장이 한번에 입력이 됩니다. 근데 전 ㅎㅏㄴㄱㅡㄹㅇㅣㄴㅣㄷㅏ. 을 보내서 실제 사람이 타이핑 하는 형태로 보내서 한글 조합이 되는 형태로 구현하고 싶은데 싶은데 SendKeys("ㅎ"); SendKeys("ㅏ"); 를 하면 입력창에 ㅎㅏ 이런씩을 찍히네요.
[guest]
2015-12-25 06시35분
글쎄요. 저도 그걸 사용해 본 적이 없어서 뭐라 할말이 없군요. ^^ 대충 보니까, Selenium 접근을 위해 필요한 것보다 그냥 간단하게 확장을 만드는 것이 더 편하지 않을까 싶은데요. 더 이상의 답변은 제가 관련해서 경험이 없어 할 수가 없습니다.
정성태

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5968orion4/30/2025181winform DataSet.xsd의 암호화 된 ConnectionString 사용 질문 [1]
5966GM B4/30/2025204C#과 python 연동 질문 [1]
5962SunN...4/21/2025535Contextmenu margin 조절 [1]파일 다운로드2
5961GM B4/10/2025937winform => wpf 마이그레이션 방법 질문 [4]파일 다운로드1
5960Kim ...4/9/20251187안녕하세요.. 혹 AI & C# 에 대해서도 다루시나요? [1]
5959vict...2/10/20251885비주얼 스투디오 CLR 코드 탑색 질문입니다. [1]
5958Supe...1/18/20252862C#으로 DLL을 만들때 WebVeiw2을 이용하여 Vb6에서 사용할수 있는지 문의드립니다. [2]
5956fc1/11/20252858한국투자증권 KIS Developers OpenAPI의 C# 래퍼 버전 - eFriendOpenAPI NuGet 패키지 [1]
5955tree...11/8/20244508C#12 책 179 페이지 문의 사항 [2]
5954SunN...10/10/20244977textbox에서 글자입력후 textBox1_KeyUp함수에서listBox1_SelectedIndexChanged 강제호출방법 [1]
5953Roya10/4/20244935c# com host dll을 c++에서 사용할 때, sdk 관련 runtime 을 설치 안하고 제공할수 있을까요?? [1]
5952우광현9/5/20246075서버용 소켓 포트 동적포트 적용시 클라이언트가 호출하는 방법? [2]
5951Kun ...8/21/20245682c++에서 복합데이터 Struct를 .NET Framework에서 구현할 수 있는 방법이 있을까요? [2]
5950SunN...8/18/20246243정석대로 한다면 response.Close() 해야되는지요? [4]
5949SunN...8/16/20246333SqlConnection Open()에서 에러가나면 Close()하는 시점 [3]
5948SunN...8/14/20246207WebRequestMethods.Ftp.MakeDirectory 해제 [3]
5947Roya8/7/20246987c# dll을 cpp lib에서 사용을 할려고 하는데요. CoCreateInstance 에서 지정된 파일을 찾을수 없다고 나오는대요. [4]
5946SunN...8/5/20247092TaskDefinition 에서 사용저가로그온상관없이실행 [3]파일 다운로드1
5945SunN...8/3/20246959윈도우 작업스케줄러 [1]
5944roya8/1/20246903C# dll을 C++ 프로젝트에서 사용을 하고 싶은데, 레지스트리 등록 없이 가능한걸까요?? [2]
5943SunN...8/1/20246784윈도우C#에서 리눅스FTP로 업로드 및 리눅스에 폴더생성(WindowsOS에서C#으로) [3]
5942vict...7/24/20246810dll 을 c#에서 쓰고 싶습니다 [1]
5941vict...7/17/20248300DependencyObject와 같은 스레드에서 DependencySource를 만들어야 합니다. 오류 [2]
5940ckm7/16/20248721선생님 안녕하세요 async await 교착 관련 질문입니다 [1]
5939괴물신인7/9/20248416템플릿 대체할수있는방법이 있을까요? [6]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...