메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

오토잇으로 단축키 개발: 두 판 사이의 차이

데브카페
새 문서: == 오토잇 텍스트 입력 커서의 위치 출력 == <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 ; 에디트 컨트롤에서 텍스...
 
잔글 개발노트 양식 일괄 적용
 
1번째 줄: 1번째 줄:
{{개발노트
|요약=
|핵심=
|분야=Autoit
|작성일=2024-10-14
}}
== 오토잇 텍스트 입력 커서의 위치 출력 ==
== 오토잇 텍스트 입력 커서의 위치 출력 ==
<source lang=autoit>
<source lang=autoit>

2026년 11월 12일 (목) 12:46 기준 최신판

DEVCAFE NOTE
Autoit
KEY POINTS · 핵심 정리
작성일2024년 10월 14일

오토잇 텍스트 입력 커서의 위치 출력

#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

오토잇 텍스트 입력커서의 문자열 검색

#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