/*
창 모서리를 가리킬때 나타나는 크로스 커서를 변경하려면, 전체 시스템 커서의 동작을 조정해야 합니다.
그러나 Windows는 특정 상황에서 시스템 기본커서를 강제로 사용할수 있습니다.
예를들면, 창크기를 조정할때 나타나는 커서는 운영체제에 의해 제어됩니다.
이러한 커서를 변경하려면 Windows 시스템설정 을통해 가능하며, AutoHotkey에서도 시도할수 있습니다.
다음은 AutoHotkey를 사용하여 창모서리를 가리킬때 나타나는 커서를 비활성화하는 방법입니다.
하지만 이 방법이 모든 상황에서 완벽하게 작동하지 않을수도 있습니다.
*/
#SingleInstance, Force ; 방금 실행시킨 스크립트 이거 하나만 열리게 하고, 그전에 실행된 것은 닫아줌
CoordMode, Mouse, Screen ; 화면 전체 영역을 마우스 좌표 기준으로 설정
CoordMode, Pixel, Screen ; 화면 전체 영역을 픽셀 이미지 좌표 기준으로 설정
IDC_CROSS := 32515 ; 시스템커서 ID목록중 크로스헤어 커서 ID를 사용하기 위한설정
OCR_SIZENWSE := 32642 ; 시스템커서 ID목록중 창크기조정 커서ID를 사용하기 위한설정
return
F2:: ; <=== F2를 누르면,
{
MouseGetPos, x, y ; 마우스 커서 위치의 xy좌표 정보를 가져옴
MsgBox, 현재 마우스 커서 위치는 x:%x% , y:%y% 입니다 ^0^ ; 메시지 박스로 현재 마우스커서 위치를 표시하기
;<=== 마우스 커서 화살표를 + 표시로 바꾸는 내용
hCursor := DllCall("LoadCursor", "UInt", 0, "UInt", IDC_CROSS, "UPtr") ; 크로스헤어 커서를 로드
DllCall("SetSystemCursor", "UPtr", hCursor, "UInt", 32512) ; 기본 커서(OCR_NORMAL)를 크로스헤어 커서로 설정
DllCall("SetSystemCursor", "UPtr", hCursor, "UInt", OCR_SIZENWSE) ; 창크기조정 커서를 크로스헤어 커서로 설정
}
return ; F2 키 내용 끝
F3:: ; <=== F3을 누르면,
{
OnExit, RestoreCursor ; 스크립트의 커서 내용을 종료시켜서 "원래 모습의 커서 = 기본 화살표"로 되돌림(복원)
ExitApp ; 스크립트를 종료
}
return
RestoreCursor:
{
;<=== 기본 화살표 커서로 복원시키는 내용
hCursor := DllCall("LoadCursor", "UInt", 0, "UInt", 32512, "UPtr") ; 기본 화살표 커서를 로드 (OCR_NORMAL)
DllCall("SetSystemCursor", "UPtr", hCursor, "UInt", 32512) ; 기본 커서(OCR_NORMAL)로 설정
;<=== 크기 조정 커서도 기본 값으로 복원
hCursor := DllCall("LoadCursor", "UInt", 0, "UInt", OCR_SIZENWSE, "UPtr") ; 기본 크기 조정 커서를 로드
DllCall("SetSystemCursor", "UPtr", hCursor, "UInt", OCR_SIZENWSE) ; 창크기조정 커서를 크로스헤어 커서로 설정합니다.
}
return
덕분에 쉽게 이해했어요 감사합니다