59 - [오토핫키] 유통기한 지정하기
59 - [오토핫키] 유통기한 지정하기
웹 페이지의 소스를 가져오는 방법을 알아봤는데 소스를 어디에 사용하면 좋을까요? 블로그의 첨부파일을 일괄로 다운 받거나, 자동 로그인을 하거나, 웹 문서의 내용을 엑셀, 워드 등의 일반 문서로 옮길수도 있죠. 이렇게 다양한 활용 방법들이 있지만 이번 포스팅에서는 스크립트의 사용기간을 지정해보는 방법을 알아봅시다. |
|
|
예제
컴퓨터 시간 활용LimitTime=20180101 ;만료기간지정. 예)2018년01월01일 StringLeft, Today, A_Now, 8 ;내장변수 A_Now는 현재 날짜와 시간을 알려주는데 그 중 년,월,일 을 추출합니다.
|
우선 간단한 스크립트로는 컴퓨터의 시간을 활용하여 날짜를 비교한 후 만료기간이 지났을 경우 스크립트를 종료합니다. 매우 간단한 스크립트지만 컴퓨터의 날짜를 바꿔버리면 무용지물이기 때문에 활용도가 매우 낮아요. |
인터넷 시간 활용LimitTime=20180101 ;만료기간지정. 예)2018년01월01일 WB := ComObjCreate( "InternetExplorer.Application" ) WB.navigate( "http://time.navyism.com/" ) While WB.readyState <> 4 || WB.document.readyState != "complete" || WB.busy Sleep, 100 Today := WB.document.getElementById( "time_area" ).innerText ;DOM스크립트로 날짜를 얻어옵니다. WB.QUIT() ;생성했던 Internet Explorer를 닫습니다. Today := SubStr(RegExReplace(Today, "[^\d]"), 1, 8) ;정규식으로 숫자만 남긴 후 SubStr로 년,월,일 을 추출합니다. If Today > %LimitTime% ;인터넷 날짜와 만료기간을 비교합니다. { MsgBox, 16, 기간만료, 사용기간이 만료되었습니다. ExitApp ;날짜가 지났을 경우 스크립트를 종료합니다. }Else{ EnvSub, LimitTime, %Today%, days ;인터넷 날짜와 만료기간의 날짜 차이를 구합니다. MsgBox, 64, 사용가능기간, 사용기간 %LimitTime%일 남았습니다. }
|
인터넷시간을 얻어오기 때문에 스크립트를 뜯어 고치지 않는 이상 만료기간이 지나면 사용이 불가능합니다. 조금더 강력한 보안이 되겠죠? 하지만 이 또한 인터넷 연결을 해제한 후 사용하게 되면 사용되는 단점이 있죠. 해결 방법은 인터넷에 연결이 되지 않았을 경우 실행되지 않게 해주면 간단히 해결됩니다. 인터넷의 연결은 어떻게 확인해 볼 수 있을까요? 여러분이 생각해 보세요~~ 또한 34 - [오토핫키] GUI Font와 Text 에서 다룬 로그인을 함께 접목하면 인증된 회원만 지정된 기간동안 사용할 수 있는 스크립트로 만들 수 있겠죠? |