AH 정리하세요
AH 여러가지 테스트
20200306 2300, 시작 장기천
01 화면설정
개념
Dpi 설정을 변경 하는 것은 화면 해상도를 변경 하는 것과 다릅니다. Dpi 크기 조정을 사용 하는 경우 화면의 실제 픽셀 수는 동일 하 게 유지 됩니다. 하지만 크기 조정은 UI 요소의 크기와 위치에 적용됩니다. 크기를 조정하지 말라는 메시지가 명시적으로 표시되지 않는 데스크톱 및 애플리케이션에 대해서는 바탕 화면 창 관리자가 이 크기 조정을 자동으로 수행할 수 있습니다. 실제로 사용자가 배율 인수를 120 dpi로 설정 하면 화면의 세로 또는 가로 인치가 25% 더 커집니다. 그에 따라 모든 치수가 적절하게 조정됩니다. 화면 위쪽에서 왼쪽 가장자리까지 애플리케이션 창의 오프셋이 25% 늘어납니다. 자료 = “https://docs.microsoft.com/ko-kr/dotnet/framework/ui-automation/ui-automation-and-screen-scaling” |
Windows 표준 해상도가 96 dpi(dot per inch)이고 이를 100%로 정의한다.
따라서 125%는 96*125% = 120 DPI가 된다.
선택 옵션은 100%, 125%, 150%, 175%이다.
MsgBox, % A_ScreenDPI "," A_ScreenWidth "," A_ScreenHeight |
결과 ; 96, 1920, 1080
텍스트 등의 크기 변경을 125%로 하고 코드를 돌려보면 다음과 같다.
결과 ; 120, 1920, 1080
02 다중모니터 반영
03 OCR테스트
1/자료 = “https://github.com/iseahound/Vis2”
2/준비; “Vis2-master.zip” 파일을 설치한다.
(note)TiStroy에 파일은 10MB만 올릴 수 있다. 위 파일은 20MB가 넘는다.
3/ 폴더구성
(note)AH폴더 구조를 Main + sub(bin, lib)로 구성한다.
※ 한국어가 포함된 패키지이다(by Kicheon)
3/실행
#include <Vis2> ; Equivalent to #include .\lib\Vis2.ahk
zMod_ProcessPopup(zMsg:="running Autohotkey..."){ zx:=150 ; need to move window zy:=130 ; need to move window Progress, W150 H130 zH8 FS18 CTFF0000 P30, ,%zMsg%, zProcess, ; Width, Height, objectHeight, FontSize, ColorText, ProgressPercent WinMove, zProcess, ,A_ScreenWidth - zx, A_ScreenHeight - zy return 1 }
zAns:=zMod_ProcessPopup()
CoordMode, Mouse, Screen ;Absolute Coordinate Mode
MouseMove, 161, 360, 50 MouseMove, 777, 504,50 zText:=OCR([161,360,616,144],"kor") run, notepad.exe WinActivate sleep, 500 send, % zText progress, off send, {esc} return ExitApp Esc:: ExitApp |
04 HTML Parsing
자료
“https://stackoverflow.com/questions/36518982/how-to-parse-html-in-autohotkey”
“https://knowledgeisfree.tistory.com/75”
#include <ReadURL> URL := "https://raw.githubusercontent.com/Visionary1/-/master/README.md" Result := ReadURL(URL) MsgBox % Result
출처: https://knowledgeisfree.tistory.com/75 [예지력] |
; 라이브러리 파일을 불러온다, /Lib 폴더에 라이브러리를 저장했다면 생략가능
; URL라는 변수에 웹 주소 저장
; Result 라는 변수에 웹 주소를 읽어온 결과값을 저장 (안녕하세요 가 저장되겠네요)
; Result 변수 결과 출력
If !IsObject(ie) ie := ComObjCreate("InternetExplorer.Application") ie.Visible := true zText := ie.document.getElementsByClassName("x-grid3-cell-inner x-grid3-col-3")[2].InnerText IELoad(ie) MsgBox, 0, , % zText |
Table 읽어오기
★ 웹페이지에서, Rclick > 소스보기
05 Recorder
중간에 계속 멈춘다.
위에 있는 명령 단추를 클릭하면, 왼쪽 아래에 아이콘이 생기고, 오른쪽 아래에 코드가 생긴다.
레코딩 중에 메인화면은 없어진다. 다시 복구하려면 시스템 트레이의 아이콘을 더블클릭하면 된다.