매크로

조회 수 171 추천 0 댓글 0

안녕하세요. 테일스타 여러분들~


지금가지고있는


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.

#SingleInstance Force

#Persistent

#Warn

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

SetTitleMatchMode, 3

CoordMode, ToolTip, Screen

DetectHiddenText, On

DetectHiddenWindows, On


;-- 변수 선언 ----------------------------------------------------------------------------------------------------

global varVer = "몰 도우미 for Kakao v1.0.2"

global varOnoff := 0

global varStatus1, varStatus2, varStatus3

global varWorking

global varAway

global varHome

global varNTF

global var5min

global varEdit


;=================================================================================================================================

;=================================================================================================================================

start:


IfNotExist, MAssistant.ini

{

IniWrite, 반갑습니다(방긋) 앞서 문의주신 손님께 답변 중이니 잠시만 기다려주세요(방긋), MAssistant.ini, Sample,varWorking

IniWrite, 반갑습니다(방긋) 지금은 부재중이라 상담에 응해드릴 수가 없어요. 제가 다시 연락드릴께요(눈물), MAssistant.ini, Sample,varAway

IniWrite, 고객님(눈물) 상담가능한 시간은 오전 9시부터 오후 6시까지 입니다(눈물) 상담시간에 제가 연락드리겠습니다(눈물), MAssistant.ini, Sample,varHome

}


;-- 현재 상태 ----------------------------------------------------------------------------------------------------

Gui, Add, GroupBox, x12 y10 w90 h140 , 현재 상태


Gui, Add, Radio, x22 y30 w60 h20 gactionStatus vvarStatus1, 상담 중

Gui, Add, Radio, x22 y70 w70 h20 gactionStatus vvarStatus2, 자리 비움

Gui, Add, Radio, x22 y110 w70 h20 gactionStatus vvarStatus3, 퇴근


IniRead, varStatus1 , MAssistant.ini, Status,varStatus1,1

IniRead, varStatus2 , MAssistant.ini, Status,varStatus2,0

IniRead, varStatus3 , MAssistant.ini, Status,varStatus3,0

GuiControl,,varStatus1, %varStatus1%

GuiControl,,varStatus2, %varStatus2%

GuiControl,,varStatus3, %varStatus3%


;-- 에디트 컨트롤 -------------------------------------------------------------------------------------------------

Gui, Add, GroupBox, x112 y10 w210 h140 , 현재 지정된 메시지

Gui, Add, Edit, x122 y30 w190 h110 vvarEdit


IniRead, varWorking , MAssistant.ini, Sample,varWorking

IniRead, varAway , MAssistant.ini, Sample,varAway

IniRead, varHome , MAssistant.ini, Sample,varHome


Gui, Submit, NoHide

If varStatus1 = 1

GuiControl,,varEdit, %varWorking%

else if varStatus2 = 1

GuiControl,,varEdit, %varAway%

else if varStatus3 = 1

GuiControl,,varEdit, %varHome%


;--추가 기능-------------------------------------------------------------------------------------------------------

Gui, Add, GroupBox, x12 y160 w310 h70, 추가 기능 ; group-box


Gui, Add, CheckBox, x22 y180 w290 h20 vvarNTF gactionNTF, 친구에게는 메시지를 전송하지 않습니다. ;varNTF ;~varNotToFriend

Gui, Add, CheckBox, x22 y200 w290 h20 vvar5min gaction5min, 5분 동안 입력이 없으면 자동으로 실행합니다. ;var5min


IniRead, varNTF , MAssistant.ini, Option,varNTF,1

IniRead, var5min , MAssistant.ini, Option,var5min,0

GuiControl,,varNTF, %varNTF%

GuiControl,,var5min, %var5min%


;--버튼 모음-------------------------------------------------------------------------------------------------------

Gui Font, cRed

GuiControl Font, status

Gui, Add, text, x332 y25 w80 h60 center hidden vstatus, 자동 응답 중

Gui, Add, Button, x332 y50 w80 h60 vonoff,On/Off

Gui, Add, Button, x332 y115 w80 h35 vmsgSave, 메시지 저장 ;actionChangeMsg

Gui, Add, Button, x332 y155 w80 h35 vabout, 문의/기부 ;~ display a pop-up

Gui, Add, Button, x332 y195 w80 h35 vquit, 종료`(&Q`) ;~ display a pop-up TBD

Gui, Show, x1 y1 w423 h240, 몰 도우미 for Kakao v1.0


main:


Gui +lastfound

hWnd := WinExist()


DllCall( "RegisterShellHookWindow", UInt,hWnd )

MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )


inactivity_limit=300 ; measured in seconds

how_often_to_test=10 ; measured in seconds

show_tooltip=1       ; 1=show, anything else means hide


inactivity_limit_ms:=inactivity_limit*1000

how_often_to_test_ms:=how_often_to_test*1000


IfNotExist, %A_ScriptDir%\customers.txt

FileAppend, Mall Assistant v1.0 Customer Log`n,%A_ScriptDir%\customers.txt


settimer, check_active, %how_often_to_test_ms%


return

;=================================================================================================================================

;=================================================================================================================================

ButtonOn/Off:

Critical

Gui, Submit, NoHide

OnMessage(MsgNum, (varOnOff := !varOnOff) ? "ShellMessage" : "")

If varOnoff = 1

{

If GetKeyState("Ctrl", "P") = 0

{

If CheckKakaoLogin()

Intro()

}

If varOnoff = 1

{

GuiControl, show, status

GuiControl, disable, varStatus1

GuiControl, disable, varStatus2

GuiControl, disable, varStatus3

GuiControl, disable, varNTF

GuiControl, disable, var5min

GuiControl, disable, msgSave

GuiControl, disable, about

GuiControl, disable, varEdit

TrayTip,Mall Assistant v1.0, 자동 응답을 시작합니다^^,1

SetTimer, RemoveTrayTip, 1000

}

}

else

{

Outro()

GuiControl, hide, status

GuiControl, enable, varStatus1

GuiControl, enable, varStatus2

GuiControl, enable, varStatus3

GuiControl, enable, varNTF

GuiControl, enable, var5min

GuiControl, enable, msgSave

GuiControl, enable, about

GuiControl, enable, varEdit

}

return


check_active:

if A_TimeIdlePhysical > %inactivity_limit_ms%

{

If varOnoff = 0

{

If var5min = 1

{

ControlClick, On/Off, 몰 도우미 for Kakao v1.0

}

}

}

return


Intro() ;5초 대기 후 시작

{

GuiControl, disable, onoff

Loop, 5

{

tempCnt := 5 - A_Index + 1

TrayTip,Mall Assistant v1.0, %tempCnt%초 뒤 자동 응답을 시작합니다^^,1

SetTimer, RemoveTrayTip, 900

sleep, 970

}

GuiControl, enable, onoff

}


Outro()

{

TrayTip,Mall Assistant v1.0, 자동 응답을 종료합니다^^,1

SetTimer, RemoveTrayTip, 1000

SaveAll()

}


CheckKakaoLogin() ;카카오톡 로그인 상태 확인

{

IfWinExist, 카카오톡

{

WinShow, 카카오톡

WinActivate, 카카오톡

ControlGet, varCKLcontrol, Visible,, Edit2, 카카오톡

If varCKLcontrol{

msgbox, 0x1040, Mall Assistant v1.0,카카오톡에 로그인을 해 주세요 :)

varOnoff := 0

return 0

}

}

else{

varOnoff := 0

msgbox, 0x1040, Mall Assistant v1.0,카카오톡을 먼저 실행 해 주세요 :)

return 0

}

return 1

}



ShellMessage( wParam,lParam ) ;푸시 알림 감지 및 채팅창 열기

{

WinGetTitle, Title, ahk_id %lParam%

If (( wParam = 32774 ) && ( Title = "카카오톡" ))

{

BlockInput, On

Winwait, ahk_class EVA_Window_Dblclk,,0

ControlClick, x1 y1, ahk_class EVA_Window_Dblclk

sleep, 100

If varNTF && DetermineFriend()

return

IfNotExist, %A_ScriptDir%\customers.txt

FileAppend, Mall Assistant v1.0 Customer Log`n,%A_ScriptDir%\customers.txt


WinGet, id, list, ahk_class #32770,,카카오톡

Loop %id%

{

if %id%

{

this_id := id%A_Index%

WinGetTitle, varCTitle, ahk_id %this_id%

varWrite := 1

;--------------중복 여부만을 검사---------------------------------

Loop, read, %A_ScriptDir%\customers.txt

{

If varCTitle = %A_LoopReadLine%

varWrite := 0

}

if varWrite

{

FileAppend, %varCTitle%`n, %A_ScriptDir%\customers.txt

SendKaKaoMessage(varEdit,varCTitle)

}

}

}

}

BlockInput, Off

return

}


DetermineFriend() ;친구여부 판단, 1 : 친구, 0 : 친구아님

{

Winwait, ahk_class EVA_Window_Dblclk,,0

ControlClick, x20 y20, ahk_class EVA_Window_Dblclk


ControlGetPos, varDFnd,,,,EVA_Window1,ahk_class #32770

If varDFnd

{

Send, {ESC}

return 1

}

else

return 0

}


; 사용예시 SendKakaoMessage("Message","Matthew Burrows")

SendKaKaoMessage(Word, Name) ;카톡으로 메시지 보내기

{

Clipboard=%Word%

clipWait

IfWinExist, %Name%

{

PostMessage,0x302,1,0,RichEdit20W1,%Name%

sleep, 120

PostMessage,0x100,0x0D,0,RichEdit20W1,%Name%

}

}


SaveAll() ;설정내용 저장

{

Gui, Submit, nohide

IniWrite, %varStatus1%, MAssistant.ini, Status,varStatus1

IniWrite, %varStatus2%, MAssistant.ini, Status,varStatus2

IniWrite, %varStatus3%, MAssistant.ini, Status,varStatus3

If varStatus1 = 1

IniWrite, %varEdit%, MAssistant.ini, Sample, varWorking

Else if varStatus2 = 1

IniWrite, %varEdit%, MAssistant.ini, Sample, varAway

Else if varStatus3 = 1

IniWrite, %varEdit%, MAssistant.ini, Sample, varHome

IniWrite, %varNTF%, MAssistant.ini, Option,varNTF

IniWrite, %var5min%, MAssistant.ini, Option,var5min

}


actionStatus:

Gui, Submit, NoHide

IniRead, varWorking , MAssistant.ini, Sample,varWorking

IniRead, varAway , MAssistant.ini, Sample,varAway

IniRead, varHome , MAssistant.ini, Sample,varHome


If varStatus1 = 1

GuiControl,,varEdit, %varWorking%

else if varStatus2 = 1

GuiControl,,varEdit, %varAway%

else if varStatus3 = 1

GuiControl,,varEdit, %varHome%

return


actionNTF:

action5min:

Gui, Submit, NoHide

return


Button문의/기부:

Gui,2:Add, Text, x10 y10 w180 h20 , 몰 도우미 for Kakao v1.0.2

Gui,2:Add, Text, x10 y60 w310 h50 , 비영리 목적으로 제작되었지만 피드백(feedback)과`n도네이션(donation)은 언제든지 감사히 받겠습니다.`n모든 문의는 아래 링크된 Guestbook을 통해 남겨주시면 되겠습니다.

Gui,2:Add, Button, x220 y160 w100 h30 gactionOK, 확인

Gui,2:Add, Link, x10 y120 w310 h20 , <a href="http://rahs.tistory.com/guestbook">문제 보고 및 개선/개발 건의</a>

Gui,2:Add, Link, x10 y140 w310 h20 , <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5P49F5SDKSQVG">기부/격려=$1/추가 개발 독촉</a>

Gui,2:Add, Text, x10 y30 w310 h20 , [Developed for KakaoTalk PC ver. 2.0.4.777]

; Generated using SmartGUI Creator for SciTE

Gui,2:Show, w330 h200, About MA v1.0.2

return

ExitApp


actionOK:

Gui,2:Destroy

return


Button메시지저장:

SaveAll()

return


Button종료(Q):

GuiClose:

Outro()

SaveAll()

ExitApp


RemoveToolTip:

SetTimer, RemoveToolTip, Off

ToolTip

return


RemoveTrayTip:

SetTimer, RemoveTrayTip, Off

TrayTip

return


이소스가 카톡이오면 비활성으로 톡으로보내는건대~ 톡보내기전 그앞에 친구추가 버튼도 클릭하고싶거든요~ 그렇게할려면 어떻게해야할가요ㅜㅜ



List of Articles
분류 제목 글쓴이 최근변경 추천
자유 외부 커뮤니티로의 유입 광고 글에 대해 피카부 2023.10.19 0/0
자유 글이 베스트로 이동될 시 권한 부여 피카부 2021.06.07 0/0
자유 추천 금지를 권유/유도하는 행위는 제재 됩니다 피카부 2020.01.15 0/0
자유 이메일로 공유 요청하는 계정 제재 피카부 2018.09.14 0/0
자유 이곳은 매크로 장터가 아닙니다. 구매/판매 글 제재 피카부 2019.02.19 0/0
자유 운영 방해 목적의 매크로 관련 글 제재 피카부 2019.09.03 0/0
자유 테일스타 회원 레벨 정보 이용하기 피카부 2022.02.17 0/0
자유 외부 유료 매크로의 추천 유도 및 광고 추천 제재 피카부 2018.04.25 0/0
자유 매크로는 [공유] 분류를 지정해주세요 피카부 2022.02.17 0/0
정보 #.[블루스택] 상,하 테두리(풀스크린)관련 오류 해결법 8 seadog 2016.01.29 3/0
자유 '세나메꾸' 제작자 님을 찾습니다. 1 엉클잭 2015.01.28 0/0
질문 (adb) 매크로 고수님들께 질문드립니다. 4 도미도도미 2016.05.26 0/0
자유 (coc)안드로이드,IOS(아이폰 or 아이패드)그리고 컴퓨... 3 farogr 2016.08.24 0/0
질문 (coc)안드로이드,IOS(아이폰 or 아이패드)그리고 컴퓨... 3 farogr 2016.10.08 0/0
질문 (ㅈㄱㄴ)영군 매크로도 있나요? 디셈버 2014.10.18 0/0
질문 (몬길)_지니모션 + 천사 메크로 다운 현상 13 천사친구 2015.01.09 0/0
질문 (예시사진o)윈도우 멀티데스크톱 기능에 매크로를 만들... 3 파이써닉 2023.05.23 0/0
자유 (잡설)히든 매크로 동작 방식 2 암드래 2018.04.04 0/0
질문 (질문) 스크립트를 프로그램으로 만드려면? 이이이잉큐 2015.05.27 0/0
질문 (핀핀) 죽으면 매크로 STOP되는거 끄는법 있나요? 2 투덜이 2020.11.16 0/0
질문 (해결) 세나 매크로 질문 있습니다 5 누구요택배다 2015.06.27 0/0
질문 .Net, C#으로 매크로 개발해보려하는데..오픈소스같은... 22 배바토프 2019.06.05 0/0
질문 1.337버전 오면서 레벨이 모자라다고 안되시는분 계신... 27 포카리스웻트 2016.08.18 0/0
질문 1.4.7 버전으로 업데이트 해야하나요? 2 영구야 2014.11.30 0/0
질문 1004 윈도우8 2014.11.08 0/0
질문 1004 매크로 v1.4.8 화일 부탁드립니다. 2 이스크라 2015.01.22 0/0
자유 1004 매크로 VIP결제 해결안되나요 ? 5 그린스프링 2014.10.18 0/0
자유 1004 매크로 그냥 쓰셔도 무방합니다 잘되네요 19 고듀마 2014.10.25 0/0
자유 1004 매크로 네이버 다운받으면 12 warsin 2014.10.12 0/0
Board Pagination Prev 1 2345678910 ... 514 Next
/ 514

전체 최신 인기글

전체 주간 인기글