Gadget/E-Book Reader

자동으로 캡쳐 후 LRF 파일 만들기 (NUUT, PRS-505/500) ver. 1.1

매니아 2008. 7. 1. 00:57

//////////////////////////////////////////////////////////
///  UWSC Script for PRS-500/505 ver. 1.1
///  by MANIA ( http://taun2.tistory.com )
///
///  이 UWSC 스크립트는 thinknote님의 블로그를 보고,
///  아이디어를 얻어 만든 자동 스크립트입니다.
///  (http://thinknote.tistory.com/35)
///
///  기본적으로 thinnknote님의 스크립트의 형식을 따왔구요.
///  제가 몇가지 아이디어를 추가한 것입니다.
/// 
///  thinknote님은 칼무리로 캡쳐후, 압축하여, LRFComicsMaker를 이용하는
///  복잡한 작업을 자동으로 가능하게 한 스크립트를 만드셨구요.
/// 
///  저는 칼무리 캡쳐없이, UWSC 자체 이미지캡쳐를 이용했습니다.
///  책정보를 직접 읽어와서 책제목과 저자 입력하는 수고를 덜었습니다.
///  그리고 무엇보다, 책페이지 수도 매번 입력할 필요도 없습니다.
///  이제 이 스크립트를 매번 수정할 필요가 없습니다.
///  제목, 저자, 페이지수 전자동입니다.
///
///  혹시나 마우스 위치 조정 값은 수정해야 할 수 있습니다.
/// 
///  http://taun2.tistory.com
///
//////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////
///
///  변수명을 설정한다.
///
///  path= 경로를 지정합니다. 예로, c:\capture\work\
///  x=가로/y=세로
///    소니리더기는 800/766을, 누트는 800/600을 권장합니다.
///
//////////////////////////////////////////////////////////

startPage=0
path="C:\Work\Capture\"
x=600
y=766
bookTitle=""
author=""
endPage=0


//////////////////////////////////////////////////////////
///  eBook Reader를 활성창으로 변경하고 첫페이지로 이동한다.
//////////////////////////////////////////////////////////

ACW(GETID("eBookReader","#32770"),100,50,740,900,0)
MOUSEORG(GETID("eBookReader","#32770"))
KBD(VK_PROCESSKEY,CLICK,15)
ACW(GETID("eBookReader","#32770"))
KBD(VK_HOME,CLICK,250)

//////////////////////////////////////////////////////////
///  기존 작업 파일을 삭제하는 초기화 작업을 수행한다.
//////////////////////////////////////////////////////////

exec("c:\Work\clear.cmd", false);

//////////////////////////////////////////////////////////
///  차례보기를 열고 제목과 저자를 읽어온다.
//////////////////////////////////////////////////////////

fukidasi("제목과 저자를 읽어옵니다.",380,910)
SLEEP(1)
sckey(GETID("eBookReader","#32770"), VK_CTRL, i)
KBD(VK_TAB,DOWN,40)
KBD(VK_TAB,DOWN,40)
KBD(VK_SPACE,CLICK,250)
SLEEP(0.1)
sckey(GETID("책 정보","#32770"), VK_TAB)
sckey(GETID("책 정보","#32770"), VK_CTRL, c)
SLEEP(0.1)
bookTitle=GETSTR(0)
sckey(GETID("책 정보","#32770"), VK_TAB)
sckey(GETID("책 정보","#32770"), VK_TAB)
sckey(GETID("책 정보","#32770"), VK_CTRL, c)
SLEEP(0.3)
author=GETSTR(0)
sckey(GETID("책 정보","#32770"),VK_ALT,VK_F4)
SLEEP(0.3)
fukidasi()

//////////////////////////////////////////////////////////
///  차례보기를 닫는다.
//////////////////////////////////////////////////////////

ACW(GETID("eBookReader","#32770"))
sckey(GETID("eBookReader","#32770"), VK_CTRL, i)
KBD(VK_TAB,DOWN,200)
KBD(VK_TAB,DOWN,200)
KBD(VK_TAB,DOWN,200)
KBD(VK_SPACE,CLICK,250)
SLEEP(0.2)

//////////////////////////////////////////////////////////
///   메뉴바를 연다. 열려있으면 닫고 연다.
///   메뉴바의 페이지수를 클릭.
//////////////////////////////////////////////////////////

sckey(GETID("eBook Reader Slider Control","#32770"), VK_ALT, VK_f4)
sckey(GETID("eBookReader","#32770"), VK_TAB)


ACW(GETID("eBook Reader Slider Control","#32770"),373,875,453,66,0)
MOUSEORG(GETID("eBookReader","#32770"))
KBD(VK_PROCESSKEY,CLICK,15)
BTN(LEFT,CLICK,600,850,500)

//////////////////////////////////////////////////////////
///   메뉴바의 책페이지 수를 읽어온다.
//////////////////////////////////////////////////////////

KBD(VK_HOME,CLICK,20)
SLEEP(1)
KBD(VK_RIGHT,CLICK,20)
KBD(VK_RIGHT,CLICK,20)
sckey(GETID("eBook Reader Slider Control","#32770"), VK_SHIFT,VK_END)
SLEEP(0.3)
sckey(GETID("eBook Reader Slider Control","#32770"), VK_CTRL, c)
SLEEP(0.3)
str=GETSTR(0)
endPage=val(str,0)

fukidasi("책 제목 : "+bookTitle+"/ 책 저자 : "+author+"/ 전체페이지 : "+endPage+"  페이지",380,910)
SLEEP(2)
fukidasi()

//////////////////////////////////////////////////////////
///  메뉴바를 닫는다.
//////////////////////////////////////////////////////////

sckey(GETID("eBook Reader Slider Control","#32770"), VK_ALT, VK_f4)

//////////////////////////////////////////////////////////
///  eBook Reader를 활성창으로 변경하고 첫페이지로 이동한다.
//////////////////////////////////////////////////////////

ACW(GETID("eBookReader","#32770"))
MOUSEORG(GETID("eBookReader","#32770"))
KBD(VK_PROCESSKEY,CLICK,15)
ACW(GETID("eBookReader","#32770"))
KBD(VK_HOME,CLICK,250)

//////////////////////////////////////////////////////////
///  캡처를 시작한다
//////////////////////////////////////////////////////////

ACW(GETID("eBookReader","#32770"))
MOUSEORG(GETID("eBookReader","#32770"))
fukidasi("캡처를 시작합니다.",380,910)  
SLEEP(1)
fukidasi()


    SAVEIMG(path+GETTIME(0, G_TIME_ZZ2)+".jpg", GETID("eBookReader","#32770"),70,50,x,y,FALSE,85)

Repeat
    startPage=startPage+1
    KBD(VK_RIGHT,CLICK,100)
    SLEEP(0.6)
    fukidasi(startPage + " /" + endPage + " 페이지 캡처 중...",380,910)
    SAVEIMG(path+GETTIME(0, G_TIME_ZZ2)+".jpg", GETID("eBookReader","#32770"),70,50,x,y,FALSE,85)
until startPage=endPage



//////////////////////////////////////////////////////////
///  LRFComicsMaker를 실행하여 파일을 생성한다.
//////////////////////////////////////////////////////////

fukidasi("LRF 파일을 만듭니다.",380,910)
exec("C:\Work\LRFComicsMaker\LRFComicsMaker.exe")

ACW(GETID("SONY PRS-500 만화책(LRF) 만들기","#32770"))
MOUSEORG(GETID("SONY PRS-500 만화책(LRF) 만들기","#32770"))
ACW(GETID("SONY PRS-500 만화책(LRF) 만들기","#32770"))

KBD(VK_A,CLICK,50)
ACW(GETID("책 정보를 입력하세요","#32770"),510,430,380,160,0)
sendstr(GETID("책 정보를 입력하세요","#32770"),bookTitle)
KBD(VK_TAB,CLICK,100)
SLEEP(0.5)
sendstr(GETID("책 정보를 입력하세요","#32770"),author)
KBD(VK_RETURN,CLICK,100)

KBD(VK_J,CLICK,50)
ACW(GETID("열기","#32770"),614,351,654,388,0)
sendstr(GETID("열기","#32770"),path)
KBD(VK_RETURN,CLICK,100)
sckey(GETID("열기","#32770"),VK_SHIFT,VK_TAB)
SLEEP(0.1)
sckey(GETID("열기","#32770"),VK_CTRL,VK_A)
SLEEP(0.5)
KBD(VK_RETURN,CLICK,50)
SLEEP(2)

ClkItem(GETID("SONY PRS-500 만화책(LRF) 만들기","#32770"),"만화책(LRF) 만들기",CLK_BTN)