부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. 마우스 커서가 놓인 지점의 문자열 얻는 방법 예전에 잠깐 소개한 적이 있는, The managed way to retrieve text under the cursor (mouse pointer) ; https://www.sysnet.pe.kr/2/2/186 The managed way to retrieve text under the cursor (mouse pointer) ; http://blogs.msdn.com/b/oldnewthing/archive/2013/04/08/10409196.aspx 위의 글에 공개된 코드는 마우스 커서 밑에 있는 텍스트 내용을 구하는데, 이번에는 '단어(Word)' 단위로 가져오는 것도 소개하는 글이 떴습니다. Reading the word under the cursor via UI Automation ; http://blogs.msdn.com/b/oldnewthing/archive/2015/02/16/10593625.aspx 그런데, 직접 해보면 아시겠지만 그다지 인식율이 좋지 않습니다. 실제로 "Reading the word under the cursor via UI Automation" 글의 전제 조건에 해당하는 TextPattern 클래스를 제공하는 응용 프로그램은 많지 않습니다. 몇 가지 테스트를 해 보니 메모장(notepad.exe), 마이크로소프트 오피스의 워드/아웃룩에서는 인식이 잘 되었습니다. 또한 WinForm 응용 프로그램을 만들때 기본 제공되는 "TextBox" 에디트 컨트롤에서도 인식이 됩니다. 하지만, 그 외 일반적으로 많이 사용하는 어도비 PDF 리더, 마이크로소프트 오피스의 파워포인트/원노트, 인터넷 익스플로러, 크롬 브라우저, Visual Studio 등에서는 인식이 안 되었습니다. TextPattern 클래스를 구현한 응용 프로그램이 별로 없다는 이야기겠지요. ^^ 어쨌든 그래도 UI Automation의 활용 사례 중 하나로 알아두는 것도! 첨부한 코드는 "Reading the word under the cursor via UI Automation" 글의 예제를 그대로 만들어 본 것입니다. [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] .NET Framework: 497. .NET Garbage Collection에 대한 정리[이전 글] .NET Framework: 495. CorElementType의 요소 값 설명 [최초 등록일: 2/18/2015] [최종 수정일: 7/17/2021] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 2020-11-11 09시40분 Auto Translate Mouse At Text Cursor; https://chentiangemalc.wordpress.com/2020/11/10/auto-translate-mouse-at-text-cursor/; https://github.com/chentiangemalc/AutoTran 정성태 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 ... NoWriterDateCnt.TitleFile(s) 13768정성태10/15/20245406C/C++: 179. C++ - _O_WTEXT, _O_U16TEXT, _O_U8TEXT의 Unicode stream 모드213767정성태10/14/20244781오류 유형: 929. bpftrace 수행 시 "ERROR: Could not resolve symbol: /proc/self/exe:BEGIN_trigger"13766정성태10/14/20244560C/C++: 178. C++ - 파일에 대한 Text 모드의 "translated" 동작113765정성태10/12/20245271오류 유형: 928. go build 시 "package maps is not in GOROOT" 오류13764정성태10/11/20245638Linux: 85. Ubuntu - 원하는 golang 버전 설치13763정성태10/11/20244988Linux: 84. WSL / Ubuntu 20.04 - bpftool 설치13762정성태10/11/20245015Linux: 83. WSL / Ubuntu 22.04 - bpftool 설치13761정성태10/11/20244917오류 유형: 927. WSL / Ubuntu - /usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found13760정성태10/11/20245460Linux: 82. Ubuntu - clang 최신(stable) 버전 설치13759정성태10/10/20246372C/C++: 177. C++ - 자유 함수(free function) 및 주소 지정 가능한 함수(addressable function) [6]13758정성태10/8/20245579오류 유형: 926. dotnet tools를 sudo로 실행하는 경우 command not found13757정성태10/8/20245530닷넷: 2306. Linux - dotnet tool의 설치 디렉터리가 PATH 환경변수에 자동 등록이 되는 이유13756정성태10/8/20245632오류 유형: 925. ssh로 docker 접근을 할 때 "... malformed HTTP status code ..." 오류 발생13755정성태10/7/20246029닷넷: 2305. C# 13 - (9) 메서드 바인딩의 우선순위를 지정하는 OverloadResolutionPriority 특성 도입 (Overload resolution priority)113754정성태10/4/20245583닷넷: 2304. C# 13 - (8) 부분 메서드 정의를 속성 및 인덱서에도 확대113753정성태10/4/20245596Linux: 81. Linux - PATH 환경변수의 적용 규칙13752정성태10/2/20246292닷넷: 2303. C# 13 - (7) ref struct의 interface 상속 및 제네릭 제약으로 사용 가능 [6]113751정성태10/2/20245412C/C++: 176. C/C++ - ARM64로 포팅할 때 유의할 점13750정성태10/1/20245295C/C++: 175. C++ - WinMain/wWinMain 호출 전의 CRT 초기화 단계13749정성태9/30/20245538닷넷: 2302. C# - ssh-keygen으로 생성한 Private Key와 Public Key 연동113748정성태9/29/20245745닷넷: 2301. C# - BigInteger 타입이 byte 배열로 직렬화하는 방식13747정성태9/28/20245597닷넷: 2300. C# - OpenSSH의 공개키 파일에 대한 "BEGIN OPENSSH PUBLIC KEY" / "END OPENSSH PUBLIC KEY" PEM 포맷113746정성태9/28/20245696오류 유형: 924. Python - LocalProtocolError("Illegal header value ...")13745정성태9/28/20245558Linux: 80. 리눅스 - 실행 중인 프로세스 내부의 환경변수 설정을 구하는 방법 (lldb)13744정성태9/27/20245994닷넷: 2299. C# - Windows Hello 사용자 인증 다이얼로그 표시하기113743정성태9/26/20246432닷넷: 2298. C# - Console 프로젝트에서의 await 대상으로 Main 스레드 활용하는 방법 [1] 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 ...