Weneedu 2020. 3. 29. 16:04

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

 

중간에 계속 멈춘다.

 

위에 있는 명령 단추를 클릭하면, 왼쪽 아래에 아이콘이 생기고, 오른쪽 아래에 코드가 생긴다.

레코딩 중에 메인화면은 없어진다. 다시 복구하려면 시스템 트레이의 아이콘을 더블클릭하면 된다.