SPH-M4650 부재중전화 반복알림 mortscript

2007. 11. 2. 13:19아는것이 힘이다

4650은 문자는 반복이 되지만 부재중 전화는 반복 알림이 없습니다.

또, 전화벨 소리는 작게하고 문자알림 소리는 크게 설정하는 편인데 PDA는 따로 설정이 안되네요

그래서 자체 문자알림은 한번만 으로 설정하고 이 스크립트로 반복알림을 합니다.

알림을 할때는 소리를 최대로 올려주고 다시 원위치로 복귀시켜 줍니다.

부재중 전화 알림도 마찬가지구요


2초마다

s2u2에 문자표시를 위한 레지수정과 부재중전화를 체크 합니다.

파일 하나로 runat해도 되지만 이렇게할 경우에 이상하게 정해진 시간에 서스팬드 모드로 진입을 하지못하고 LCD가 계속 켜져 있네요

그래서, 2초마다 체크해서 문자나 부재중 전화가 있을때만 runat으로 큐를 만들고 없으면 큐를 삭제 합니다.

체크 스크립트

CheckReg.mscr

setQ=0
while (1)
     #메시지
     sms=RegRead("HKLM", "\System\State\Messages\SMS\Unread\", "Count")
     mms=RegRead("HKLM", "\System\State\Messages\MMS\Unread\", "Count")
     vmail=RegRead("HKLM", "\System\State\Messages\Vmail\Total\Unread\", "Count")
     unread=sms+mms+vmail
     RegWriteDWord("HKCU", "\System\State\Messages\vmail\Total\Unread\", "Count", &unread)
     #전화
     mscall=RegRead("HKCU", "\System\State\Phone\", "Missed Call Count")
     if((unread>0 || mscall>0) && setQ=0)
          x = TimeStamp() + 60
          RemoveNotifications("\Windows\MissingCallSms.mscr")
          RunAt(x,"\Windows\MissingCallSms.mscr")
          setQ=1
     endif
     if(unread=0 && mscall=0)
         RemoveNotifications("\Windows\MissingCallSms.mscr")
         setQ=0
     endif
     Sleep (2000)

EndWhile

반복 알림 스크립트

MissingCallSms.mscr

x = TimeStamp() + 120
#전화벨
ring_state=RegRead("HKCU", "\ControlPanel\Volume\", "Ringer")
#볼륨
volume_state=RegRead("HKCU", "\ControlPanel\Volume\", "Volume")
#현재 볼륨 기억하기
switch(volume_state)
     case("-1")
          prev_volume = 255
     case("-858993460")
          prev_volume = 204
     case("-1717986919")
          prev_volume = 153
      case("1717986918")
          prev_volume = 102
      case("858993459")
          prev_volume = 51
      case("0")
          prev_volume = 0
endswitch


#확인하지 않은 메시지 체크
sms=RegRead("HKLM", "\System\State\Messages\SMS\Unread\", "Count")
mms=RegRead("HKLM", "\System\State\Messages\MMS\Unread\", "Count")
vmail=RegRead("HKLM", "\System\State\Messages\Vmail\Total\Unread\", "Count")
unread=sms+mms+vmail
if(unread>0)
     #진동모드가 아닐때
     if(ring_state<>"0")
         SetVolume( 255 )
         PlaySound("\Windows\messagebell_4.wav")
     endif
     Vibrate( 2000 )
endif


#받지못한 전화가 있는지 체크
mscall=RegRead("HKCU", "\System\State\Phone\", "Missed Call Count")
if(mscall>0 && unread=0)
     #진동모드가 아닐때
     if(ring_state<>"0")
         SetVolume( 255 )
         PlaySound("\Windows\ringing.wav")
     endif
     Vibrate( 2000 )
endif


#이전 볼륨으로 복귀
SetVolume( prev_volume )
#반복 - 체크 스크립트에서 부재중 전화나 문자가 없으면 큐를 삭제해 줍니다

RunAt(x,"\Windows\MissingCallSms.mscr")


삼성 m4650기준이구요

CheckReg.mscr 는 /windows/시작/ 에 넣어주시고
MissingCallSms.mscr 는 /windows/ 폴더 안에 넣고 리셋해주시면 됩니다.

삭제 하실때는 CheckReg.mscr 를 삭제하고 리셋해주시면 됩니다.