매크로

조회 수 178 추천 0 댓글 1
원본파일이 원래 오토핫키로 제작한 exe파일이었는데요
카카오토로 적용시켜서 해봣더니 전송이 안돼서 무엇이 문제인가해서 찾다가 디컴파일이 되길래
제가 원하는대로 수정할려고 하는데요
(원본-텍스트전송, 사진전송 원하는대로 가능)
(수정-텍스트 2가지를 상황에 맞게 전송)
할려고 하는데요
단순히 텍스트전송 스크립트만 바꿔치기 하니 밑줄친 부분이 중복이라고 뜨더라고여..
해결방법이 있을까요??
프로그래밍의 프도 모르는 사람입니다ㅠㅜㅜ
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ원본ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
; <COMPILER: v1.1.35.00>
FileReadLine, Telegram_Token, telemsg.ini, 1
FileReadLine, Telegram_chatid, telemsg.ini, 2
Param1 = %1%
if Param1 = message
{
FileRead, TG_Message, %A_ScriptDir%\Message.txt
SendMsg(Telegram_Token, Telegram_chatid, TG_Message)
SendMsg(token, chatID, message) {
param := "chat_id=" chatID "&text=" message
URL := "https://api.telegram.org/bot" . token . "/sendmessage?"
WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Try {
WebRequest.Open("POST", URL)
WebRequest.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
WebRequest.Send(param)
res := WebRequest.ResponseText
return res
}
Catch e{
ExitApp
}
}
}
else if Param1 = photo
{
IfExist %A_ScriptDir%\Screenshot.jpg
{
SendPhoto(Telegram_Token, Telegram_chatid, A_ScriptDir . "\Screenshot.jpg")
}
}
SendPhoto(token, chatID, file, caption := "" )
{
url_str := "https://api.telegram.org/bot" token "/sendPhoto?caption=" caption
objParam := {       "chat_id" : chatID
,   "photo" : [file]  }
return UploadFormData(url_str, objParam)
}
UploadFormData(url_str, objParam)
{
CreateFormData(postData, hdr_ContentType, objParam)
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Try {
whr.Open("POST", url_str, true)
whr.SetRequestHeader("Content-Type", hdr_ContentType)
whr.Option(6) := False
whr.Send(postData)
whr.WaitForResponse()
json_resp := whr.ResponseText
whr :=
return json_resp
}
Catch e{
ExitApp
}
}
CreateFormData(ByRef retData, ByRef retHeader, objParam) {
New CreateFormData(retData, retHeader, objParam)
}
CreateFormData_WinInet(ByRef retData, ByRef retHeader, objParam) {
New CreateFormData(safeArr, retHeader, objParam)
size := safeArr.MaxIndex() + 1
VarSetCapacity(retData, size, 1)
DllCall("oleaut32\SafeArrayAccessData", "ptr", ComObjValue(safeArr), "ptr*", pdata)
DllCall("RtlMoveMemory", "ptr", &retData, "ptr", pdata, "ptr", size)
DllCall("oleaut32\SafeArrayUnaccessData", "ptr", ComObjValue(safeArr))
}
Class CreateFormData {
__New(ByRef retData, ByRef retHeader, objParam) {
CRLF := "`r`n"
Boundary := this.RandomBoundary()
BoundaryLine := "------------------------------" . Boundary
binArrs := []
For k, v in objParam
{
If IsObject(v) {
For i, FileName in v
{
str := BoundaryLine . CRLF
. "Content-Disposition: form-data; name=""" . k . """; filename=""" . FileName . """" . CRLF
. "Content-Type: " . this.MimeType(FileName) . CRLF . CRLF
binArrs.Push( BinArr_FromString(str) )
binArrs.Push( BinArr_FromFile(FileName) )
binArrs.Push( BinArr_FromString(CRLF) )
}
} Else {
str := BoundaryLine . CRLF
. "Content-Disposition: form-data; name=""" . k """" . CRLF . CRLF
. v . CRLF
binArrs.Push( BinArr_FromString(str) )
}
}
str := BoundaryLine . "--" . CRLF
binArrs.Push( BinArr_FromString(str) )
retData := BinArr_Join(binArrs*)
retHeader := "multipart/form-data; boundary=----------------------------" . Boundary
}
RandomBoundary() {
str := "0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z"
Sort, str, D| Random
str := StrReplace(str, "|")
Return SubStr(str, 1, 12)
}
MimeType(FileName) {
n := FileOpen(FileName, "r").ReadUInt()
Return (n        = 0x474E5089) ? "image/png"
: (n        = 0x38464947) ? "image/gif"
: (n&0xFFFF = 0x4D42    ) ? "image/bmp"
: (n&0xFFFF = 0xD8FF    ) ? "image/jpeg"
: (n&0xFFFF = 0x4949    ) ? "image/tiff"
: (n&0xFFFF = 0x4D4D    ) ? "image/tiff"
: "application/octet-stream"
}
}
BinArr_FromString(str) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 2
oADO.Mode := 3
oADO.Open
oADO.Charset := "UTF-8"
oADO.WriteText(str)
oADO.Position := 0
oADO.Type := 1
oADO.Position := 3
return oADO.Read, oADO.Close
}
BinArr_FromFile(FileName) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Open
oADO.LoadFromFile(FileName)
return oADO.Read, oADO.Close
}
BinArr_Join(Arrays*) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Mode := 3
oADO.Open
For i, arr in Arrays
oADO.Write(arr)
oADO.Position := 0
return oADO.Read, oADO.Close
}
BinArr_ToString(BinArr, Encoding := "UTF-8") {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Mode := 3
oADO.Open
oADO.Write(BinArr)
oADO.Position := 0
oADO.Type := 2
oADO.Charset  := Encoding
return oADO.ReadText, oADO.Close
}
BinArr_ToFile(BinArr, FileName) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Open
oADO.Write(BinArr)
oADO.SaveToFile(FileName, 2)
oADO.Close
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ수정ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

; <COMPILER: v1.1.37.02>
FileReadLine, Telegram_Token, telemsg.ini, 1
FileReadLine, Telegram_chatid, telemsg.ini, 2
Param1 = %1%
if Param1 = Concurrent
{
FileRead, TG_Message, %A_ScriptDir%\Message.txt, 1
SendMsg(Telegram_Token, Telegram_chatid, TG_Message)
SendMsg(token, chatID, message) {
param := "chat_id=" chatID "&text=" message
URL := "https://api.telegram.org/bot" . token . "/sendmessage?"
WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Try {
WebRequest.Open("POST", URL)
WebRequest.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
WebRequest.Send(param)
res := WebRequest.ResponseText
return res
}
Catch e{
ExitApp
}
}
}
else if Param1 = Unread_Whisper
{
FileRead, TG_Message, %A_ScriptDir%\Message.txt, 2
SendMsg(Telegram_Token, Telegram_chatid, TG_Message)
SendMsg(token, chatID, message) {
param := "chat_id=" chatID "&text=" message
URL := "https://api.telegram.org/bot" . token . "/sendmessage?"
WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Try {
WebRequest.Open("POST", URL)
WebRequest.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
WebRequest.Send(param)
res := WebRequest.ResponseText
return json_resp
}
Catch e{
ExitApp
}
}
CreateFormData(ByRef retData, ByRef retHeader, objParam) {
New CreateFormData(retData, retHeader, objParam)
}
CreateFormData_WinInet(ByRef retData, ByRef retHeader, objParam) {
New CreateFormData(safeArr, retHeader, objParam)
size := safeArr.MaxIndex() + 1
VarSetCapacity(retData, size, 1)
DllCall("oleaut32\SafeArrayAccessData", "ptr", ComObjValue(safeArr), "ptr*", pdata)
DllCall("RtlMoveMemory", "ptr", &retData, "ptr", pdata, "ptr", size)
DllCall("oleaut32\SafeArrayUnaccessData", "ptr", ComObjValue(safeArr))
}
Class CreateFormData {
__New(ByRef retData, ByRef retHeader, objParam) {
CRLF := "`r`n"
Boundary := this.RandomBoundary()
BoundaryLine := "------------------------------" . Boundary
binArrs := []
For k, v in objParam
{
If IsObject(v) {
For i, FileName in v
{
str := BoundaryLine . CRLF
. "Content-Disposition: form-data; name=""" . k . """; filename=""" . FileName . """" . CRLF
. "Content-Type: " . this.MimeType(FileName) . CRLF . CRLF
binArrs.Push( BinArr_FromString(str) )
binArrs.Push( BinArr_FromFile(FileName) )
binArrs.Push( BinArr_FromString(CRLF) )
}
} Else {
str := BoundaryLine . CRLF
. "Content-Disposition: form-data; name=""" . k """" . CRLF . CRLF
. v . CRLF
binArrs.Push( BinArr_FromString(str) )
}
}
str := BoundaryLine . "--" . CRLF
binArrs.Push( BinArr_FromString(str) )
retData := BinArr_Join(binArrs*)
retHeader := "multipart/form-data; boundary=----------------------------" . Boundary
}
RandomBoundary() {
str := "0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z"
Sort, str, D| Random
str := StrReplace(str, "|")
Return SubStr(str, 1, 12)
}
MimeType(FileName) {
n := FileOpen(FileName, "r").ReadUInt()
Return (n        = 0x474E5089) ? "image/png"
: (n        = 0x38464947) ? "image/gif"
: (n&0xFFFF = 0x4D42    ) ? "image/bmp"
: (n&0xFFFF = 0xD8FF    ) ? "image/jpeg"
: (n&0xFFFF = 0x4949    ) ? "image/tiff"
: (n&0xFFFF = 0x4D4D    ) ? "image/tiff"
: "application/octet-stream"
}
}
BinArr_FromString(str) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 2
oADO.Mode := 3
oADO.Open
oADO.Charset := "UTF-8"
oADO.WriteText(str)
oADO.Position := 0
oADO.Type := 1
oADO.Position := 3
return oADO.Read, oADO.Close
}
BinArr_FromFile(FileName) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Open
oADO.LoadFromFile(FileName)
return oADO.Read, oADO.Close
}
BinArr_Join(Arrays*) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Mode := 3
oADO.Open
For i, arr in Arrays
oADO.Write(arr)
oADO.Position := 0
return oADO.Read, oADO.Close
}
BinArr_ToString(BinArr, Encoding := "UTF-8") {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Mode := 3
oADO.Open
oADO.Write(BinArr)
oADO.Position := 0
oADO.Type := 2
oADO.Charset  := Encoding
return oADO.ReadText, oADO.Close
}
BinArr_ToFile(BinArr, FileName) {
oADO := ComObjCreate("ADODB.Stream")
oADO.Type := 1
oADO.Open
oADO.Write(BinArr)
oADO.SaveToFile(FileName, 2)
oADO.Close
}

  • 리체 2024.05.19 05:47

    추가하신게 함수입니다

    같은 이름의 함수는 단 1개만 존재해야 합니다


    고로 추가한 함수의 이름을 바꾸고 호출할때도 바꾼 함수를 이용하면 되겠습니다


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 히트2는 오토핫키 없을까요 1 매매매핫키 2022.12.07 0/0
자유 히로매크로 사용중입니다. 1 매끄로 2015.03.16 0/0
자유 희한하네요... 2 보득 2015.02.02 0/0
자유 흠냐 오토핫키와 c++ 연관성 34f35 2015.10.09 0/0
자유 흠.. 안녕들 하세요.. 13 폐이니즘 2015.01.16 0/0
자유 흠 gdip 안쓰고도 비활성 이미지 서치가 가능하네요 4 루뽕 2015.11.19 0/0
질문 흑백화를 시킨 후 이미지를 저장 하였습니다. 이후 이... 1 haegu 2018.09.11 0/0
질문 흑백화 이미지서치 참고할만한 글 있나요?? 3 급홍어감별사 2018.07.02 0/0
질문 흑백 비활성 이미지 검색 구현하신 분 계세요? 4 프리 2019.05.23 0/0
자유 후.. 검은거 한번 만들어 볼까 합니다 쟈브 2018.11.14 0/0
질문 후 문의 2번째.. 드립니다......... 4 문의드립니다 2015.06.10 0/0
자유 효율적인 쫄작교체방법이 없을까요? 3 세나블텍 2015.08.06 0/0
질문 활성화된 프로세스 죽이는법 kill 3 리엔니케니스타 2017.03.29 0/0
정보 활성화된 창으로 esc보내는 라이브러리. 1 헐키 2015.06.19 0/0
질문 활성과 비활성의 차이가 무엇인가요~? 1 배고파3000 2018.09.04 0/0
질문 활성 ? 비활성 질문.. 2 아카드 2014.11.04 0/0
자유 확장자 변환기 3 없어돌아가 2015.04.01 0/0
질문 확장모니터에서 controlclick질문드립니다 레나류륜 2016.10.27 0/0
질문 확율을 결과물로 출력중입니다. 특수문자 출력을 못해요 3 가족오락관 2016.11.08 0/0
자유 확실히 오토핫키가... 16 아카드 2014.11.09 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글