59 - [오토핫키] 유통기한 지정하기 웹 페이지의 소스를 가져오는 방법을 알아봤는데 소스를 어디에 사용하면 좋을까요? 블로그의 첨부파일을 일괄로 다운 받거나, 자동 로그인을 하거나, 웹 문서의 내용을 엑셀, 워드 등의 일반 문서로 옮길수도 있죠. 이렇게 다양한 활용 방법들이 있지만 이번 포스팅에서는 스크립트의 사용기간을 지정해보는 방법을 알아봅시다. 예제 컴퓨터 시간 활용 LimitTime=20180101 ;만료기간지정. 예)2018년01월01일 StringLeft, Today, A_Now, 8 ;내장변수 A_Now는 현재 날짜와 시간을 알려주는데 그 중 년,월,일 을 추출합니다. ;FormatTime, Today, , yyyyMMdd ;알려드리진 않았지만 FormatTime 이라는 명령어로도 사용할 ..
58 - [오토핫키] DOM방식으로 소스 가져오기 Gui ActiveX에서 언급만 했던 DOM (Document Object Model)이라는 방식을 사용할거에요. Gui ActiveX와 같은 명령어르 사용하지만 이번엔 GUI가 아닌 Internet Explorer를 사용한다는 점이 차이가 있죠. 속도는 가장 느린편에 속하지만 오토핫키를 통한 접근과 사람이 직접 조작할 수 있는 범용성이 좋기 때문에 저는 이 방식을 주로 사용합니다. 예제 DOM WB := ComObjCreate( "InternetExplorer.Application" ) ;Internet Explorer오브젝트를 생성합니다. WB.navigate( "http://www.naver.com" ) ;Navigate객체로 인터넷에 접속합니다. ..
57 - [오토핫키] WinHttp로 소스 가져오기 Gui ActiveX를 활용하여 인터넷에서 소스를 얻어오는 방법을 다뤘다면 이번에는 WinHttp를 활용한 방법으로 이전과 차이점은 접속을 하는것이 아닌 POST / GET 방식으로 서버에 요청을 보내고 받아오는 방식이기 때문에 속도가 더 빠릅니다. 예제 WinHttp WB := ComObjCreate("WinHttp.WinHttpRequest.5.1") ;WinHttp오브젝트를 생성합니다. WB.Open( "GET", "http://www.naver.com" ) ;인터넷 주소를 "GET" 방식으로 설정합니다. WB.Send() ;위에서 설정한 방식을 서버에 요청합니다. WB.WaitForResponse() ;서버에서 정보를 보내올때까지 기다립니다. S..
56 - [오토핫키] Gui ActiveX로 소스 가져오기 앞서 UrlDownloadToFile 명령어를 이용하여 소스를 가져오는 방법에 대해 알려드렸는데요. 이번에는 Gui ActiveX를 이용하여 소스를 얻어오는 방법에 대해 소개합니다. UrlDownloadToFile은 File로 다운로드 받아서 다시 오토핫키로 불러들여야 활용을 하는데 반해 Gui의 ActiveX를 사용하면 바로 변수에 저장하기 때문에 File을 남기지 않고도 소스를 얻어오는 장점이 있습니다. 예제 Gui ActiveX Gui, Add, ActiveX, vWB, Shell.Explorer Gui, Show, Hide ;GUI를 활성화하지만 창을 보여주지 않고 감춥니다. WB.Navigate( "http://www.naver.com"..
55 - [오토핫키] Gui ActiveX Gui에는 ActiveX 기능이 있어 인터넷과 연동을 할 수 있습니다. 사실 자주쓰이는 기능은 아니지만 Gui를 예쁘게 꾸미는 방법을 소개 하려고 포스팅을 하려고 해요. 문법 Gui, Add, ActiveX, Options, Component 설명 Add 콘트롤을 GUI에 추가합니다. ActiveX ActiveX 컴포넌트. Options 위치, 크기, 라벨 등을 설정 W : 픽셀 단위 너비 H : 픽셀 단위 높이 X : X축 위치 Y : Y축 위치 Component ActiveX에 적재할 컴포넌트의 이름. 예제 예제1) Gui, Add, ActiveX , vWB w800 h600, Shell.Explorer Gui, Show WB.Navigate( "http:/..
54 - [오토핫키] 속도관련 명령어, 키보드값 찾기 정규식때문에 머리가 많이 아팠으니 이번 포스팅은 가볍게 다루고 넘어갑시다. 오토핫키는 스크립트를 읽을 때 약간의 딜레이가 존재합니다. 잘 짜여진 스크립트도 이 딜레이 때문에 오작동을 하는 경우가 발생하기도 하죠. 저같은 경우엔 거의 필수로 이 딜레이 셋팅을 하고 시작해요. 그리고 Send 혹은 핫키를 지정하고싶은데 "한자", "한/영" 등등의 모르는 키가 있을때 이 키보드값을 찾는 방법에 대해 알려드릴게요. 속도관련 명령어 SetControlDelay, -1 ;콘트롤관련 명령어의 속도를 빠르게 SetKeyDelay, -1 ;키 입력관련 명령어의 속도를 빠르게 SetMouseDelay, -1 ;마우스 관련 명령어의 속도를 빠르게 SetDefaultMou..
53 - [오토핫키] 정규식 패턴표 정규식은 기본적으로 대소문자를 구분합니다. 또한 오토핫키에서 특수문자를 그대로 출력하기 위해 ` (악센트)를 사용했다면 정규식 내에서는 \ (역슬래시)를 사용합니다. 따라서 \.*?+[{\(^$ 등 특수문자 앞에는 역사선을 써줘야 합니다. 참고로 인터넷 소스 등을 파싱하다 보면 "http://secretgd.tistory.com" 처럼 " (겹따옴표)로 둘러싸인 URL등을 사용 할때는 ""http://secretgd.tistory.com"" 이렇게 이중으로 감싸주면 정상적으로 인식하게 됩니다. 옵션 정규식 맨 앞에 옵션을 지정하고 반괄호를 닫습니다. 예) "i)a" 대소문자를 구분하지 않고 a, A를 찾습니다. i 대소문자를 구분하지 않습니다 m 하나의 긴 줄이 아닌 ..
52 - [오토핫키] 정규식 RegExReplace(), 파싱 (6) 또 다른 정규식인 RegExReplace()입니다. StringReplace처럼 문자열을 새 문자열로 교체하는 역할인데 정규식인만큼 패턴을 사용합니다. RegExMatch()처럼 패턴을 찾아내는 역할을 하기도 하지만 사용법에 있어서는 다소 차이를 보이므로 문법을 잘 비교해 보셔야 합니다. 문법 NewStr := RegExReplace(Haystack, NeedleRegEx [, Replacement = "", OutputVarCount = "", Limit = -1, StartingPosition = 1]) 설명 NewStr 패턴을 찾아 교체한 내용을 돌려줍니다. 교체가 필요하지 않으면 Haystack이 그대로 반환됩니다. Haysta..
51 - [오토핫키] 정규식 RegExMatch(), 파싱 (5) 문자열관리를 통해서 찾고, 자르고, 바꾸고, 문자를 이리저리 고생시켰죠? 정규식은 문자, 혹은 문자 위치보다 문자열의 패턴을 읽어 분석합니다. 앞서 배운 문자열관리로 5~6줄의 스크립트 분량을 정규식을 사용하면 한줄로 끝내버릴 수 있을만큼 강력한 내장함수입니다. 흔히 정규식을 Haystack(건초더미)에서 NeedleRegEx(바늘)을 찾는다고 비유하는데 정말 그만큼 어렵습니다. 문법 FoundPos := RegExMatch(Haystack, NeedleRegEx [, UnquotedOutputVar = "", StartingPosition = 1]) 설명 FoundPos NeedleRegEx의 위치값. 첫 문자라면 1, 발견하지 못했을 ..
50 - [오토핫키] 문자열관리, 파싱 (4) Parsing (파싱)은 문장의 문법적인 구성을 분석하는 과정을 나타내는 용어로 사용됩니다. 이번에는 문자의 개수와 문자를 다른 문자로 변경하는 명령어를 다루겠습니다. 문법 : 문자의 개수 StringLen, OutputVar, InputVar OutputVar := StrLen(InputVar) 설명 OutputVar 문자의 개수를 저장할 변수의 이름 InputVar 문자의 개수를 측정할 내용을 담고 있는 변수의 이름. 예제 예제1) var = ;변수에 여러줄을 담을땐 소괄호! ( 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리 나라 만세 무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ) StringTrimLeft, Trim, var, 37..