"오토잇으로 단축키 개발"의 두 판 사이의 차이
DB CAFE
(새 문서: == 오토잇 테스트 입력 커서의 위치 출력 == <source lang=autoit> #include <WinAPI.au3> Opt("WinTitleMatchMode", 2) ; 윈도우 타이틀 매치 모드 설정 Local $hWn...) |
|||
1번째 줄: | 1번째 줄: | ||
− | == 오토잇 | + | == 오토잇 텍스트 입력 커서의 위치 출력 == |
<source lang=autoit> | <source lang=autoit> | ||
#include <WinAPI.au3> | #include <WinAPI.au3> | ||
15번째 줄: | 15번째 줄: | ||
Local $iCursorPos = _WinAPI_GetCaretPos($hEdit) | Local $iCursorPos = _WinAPI_GetCaretPos($hEdit) | ||
ConsoleWrite("텍스트 입력 커서의 위치: " & $iCursorPos & @CRLF) | ConsoleWrite("텍스트 입력 커서의 위치: " & $iCursorPos & @CRLF) | ||
+ | Else | ||
+ | MsgBox(16, "오류", "에디트 컨트롤을 찾을 수 없습니다.") | ||
+ | EndIf | ||
+ | Else | ||
+ | MsgBox(16, "오류", "Notepad를 찾을 수 없습니다.") | ||
+ | EndIf | ||
+ | </source> | ||
+ | |||
+ | == 오토잇 텍스트 입력커서의 문자열 검색 == | ||
+ | <source lang=autoit> | ||
+ | #include <WinAPI.au3> | ||
+ | |||
+ | Opt("WinTitleMatchMode", 2) ; 윈도우 타이틀 매치 모드 설정 | ||
+ | |||
+ | Local $hWnd = WinGetHandle("Untitled - Notepad") ; Notepad 창 핸들을 가져옴 | ||
+ | |||
+ | If $hWnd <> 0 Then | ||
+ | ; Notepad의 에디트 컨트롤의 핸들을 가져옴 | ||
+ | Local $hEdit = ControlGetHandle($hWnd, "", "[CLASS:Edit; INSTANCE:1]") | ||
+ | |||
+ | If $hEdit <> 0 Then | ||
+ | ; 에디트 컨트롤에서 텍스트 입력 커서의 위치를 가져옴 | ||
+ | Local $iCursorPos = _WinAPI_GetCaretPos($hEdit) | ||
+ | |||
+ | ; 에디트 컨트롤에서 텍스트를 읽어옴 | ||
+ | Local $sText = ControlGetText($hWnd, "", $hEdit) | ||
+ | |||
+ | ; 커서 위치에서 문자열을 추출 | ||
+ | Local $iStart = StringInStr($sText, @CRLF, 0, -1, $iCursorPos) + 1 | ||
+ | Local $iEnd = StringInStr($sText, @CRLF, 0, 1, $iCursorPos) | ||
+ | If $iEnd = 0 Then $iEnd = StringLen($sText) + 1 | ||
+ | Local $sCurrentLine = StringMid($sText, $iStart, $iEnd - $iStart) | ||
+ | |||
+ | ConsoleWrite("텍스트 입력 커서의 위치의 문자열: " & $sCurrentLine & @CRLF) | ||
Else | Else | ||
MsgBox(16, "오류", "에디트 컨트롤을 찾을 수 없습니다.") | MsgBox(16, "오류", "에디트 컨트롤을 찾을 수 없습니다.") |
2024년 5월 12일 (일) 18:07 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 오토잇 텍스트 입력 커서의 위치 출력[편집]
#include <WinAPI.au3>
Opt("WinTitleMatchMode", 2) ; 윈도우 타이틀 매치 모드 설정
Local $hWnd = WinGetHandle("Untitled - Notepad") ; Notepad 창 핸들을 가져옴
If $hWnd <> 0 Then
; Notepad의 에디트 컨트롤의 핸들을 가져옴
Local $hEdit = ControlGetHandle($hWnd, "", "[CLASS:Edit; INSTANCE:1]")
If $hEdit <> 0 Then
; 에디트 컨트롤에서 텍스트 입력 커서의 위치를 가져옴
Local $iCursorPos = _WinAPI_GetCaretPos($hEdit)
ConsoleWrite("텍스트 입력 커서의 위치: " & $iCursorPos & @CRLF)
Else
MsgBox(16, "오류", "에디트 컨트롤을 찾을 수 없습니다.")
EndIf
Else
MsgBox(16, "오류", "Notepad를 찾을 수 없습니다.")
EndIf
2 오토잇 텍스트 입력커서의 문자열 검색[편집]
#include <WinAPI.au3>
Opt("WinTitleMatchMode", 2) ; 윈도우 타이틀 매치 모드 설정
Local $hWnd = WinGetHandle("Untitled - Notepad") ; Notepad 창 핸들을 가져옴
If $hWnd <> 0 Then
; Notepad의 에디트 컨트롤의 핸들을 가져옴
Local $hEdit = ControlGetHandle($hWnd, "", "[CLASS:Edit; INSTANCE:1]")
If $hEdit <> 0 Then
; 에디트 컨트롤에서 텍스트 입력 커서의 위치를 가져옴
Local $iCursorPos = _WinAPI_GetCaretPos($hEdit)
; 에디트 컨트롤에서 텍스트를 읽어옴
Local $sText = ControlGetText($hWnd, "", $hEdit)
; 커서 위치에서 문자열을 추출
Local $iStart = StringInStr($sText, @CRLF, 0, -1, $iCursorPos) + 1
Local $iEnd = StringInStr($sText, @CRLF, 0, 1, $iCursorPos)
If $iEnd = 0 Then $iEnd = StringLen($sText) + 1
Local $sCurrentLine = StringMid($sText, $iStart, $iEnd - $iStart)
ConsoleWrite("텍스트 입력 커서의 위치의 문자열: " & $sCurrentLine & @CRLF)
Else
MsgBox(16, "오류", "에디트 컨트롤을 찾을 수 없습니다.")
EndIf
Else
MsgBox(16, "오류", "Notepad를 찾을 수 없습니다.")
EndIf