- Elkha - Blue
- 매크로
- 오토핫키 커뮤니티
postmessage로 dragNdrop
-
HDrop(fnames,x=0,y=0){characterSize := A_IsUnicode ? 2 : 1fns:=RegExReplace(fnames,"\n$")fns:=RegExReplace(fns,"^\n")hDrop:=DllCall("GlobalAlloc","UInt",0x42,"UInt",20+(StrLen(fns)*characterSize)+characterSize*2)p:=DllCall("GlobalLock","UInt",hDrop)NumPut(20, p+0) ;offsetNumPut(x, p+4) ;pt.xNumPut(y, p+8) ;pt.yNumPut(0, p+12) ;fNCNumPut(A_IsUnicode ? 1 : 0, p+16) ;fWidep2:=p+20Loop,Parse,fns,`n,`r{DllCall("RtlMoveMemory","UInt",p2,"Str",A_LoopField,"UInt",StrLen(A_LoopField)*characterSize)p2+=StrLen(A_LoopField)*characterSize + characterSize}DllCall("GlobalUnlock","UInt",hDrop)Return hDrop}예제 (그림판 켜놓은 상태)fname=Green.pngPostMessage, 0x233, HDrop(fname), 0,, ahk_class MSPaintApp함수 첫번째 파라메터에 파일명 리스트를 라인피드로 구분해서 작성하면 여러 파일도 한번에 전달이 됩니다.
-
fname=test.bmp ; 이미지 파일만 test.bmp 만들어서 넣었는데 요렇게 오류가 나와요ㅠ, 이미지파일은 스크립트랑 같은폴더에 있어요
-
밑 스샷에 정답이 있네요
파일 이름을 절대경로로 입력해줘야되는데 제가 예제에 깜빡하고 작성을 안했네요 ㅎㅎfname=%A_ScriptDir%\Green.pngPostMessage, 0x233, HDrop(fname), 0,, ahk_class MSPaintApp이걸로 해보시지요 -
완벽히 작동되네요! 절대경로였군요
오핫포럼에 있는거는 원본이 일본사람이 만든걸로 유니코드도 지원안되고 고물이었는데..
혹시 천재신가요? 농담입니다 ㅋㅋ
지금 당장 필요한건 아니지만 복수개 파일을 넘길때 라인피드로 구분해서 입력하면 된다고 하셨는데. 라인피드가 /n/r말씀하시는거죠? 근데 이거 fname변수에 어떻게 입력해야되나요? 똑같이 절대경로포함해서 넣어줘야 되는거면 많이 길어 질거 같아서요. -
저도 그 포럼 봤는데 거기서 퍼온거에요. 뒷페이지로 넘기니까 누가 개선해놓은게 있더라구요
라인피드는 오토핫키에서 `n 입니다.
fnames=%A_ScriptDir%\Green.png`n%A_ScriptDir%\BALLOON2.png
이런식으로요
너무 길어질거 같으면 변수입력시에는 파일명만 입력하고
경로는 함수내에서 입력할 수 있도록 처리해주면 되죠
위 함수의 fns:=RegExReplace(fns,"^\n") 바로 아랫라인에 아래 코드를 삽입해 보세요
Loop,Parse,fns,`n,`r
{
SplitPath, A_LoopField,OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive
tmp := (!OutDrive ? A_ScriptDir "\" : "" ) A_LoopField (!OutExtension ? ".png" : "")
fns := (A_Index=1) ? tmp : fns "`n" tmp
}
절대경로인 경우는 그대로 사용
상대경로인 경우는 스크립트 경로를 앞에 추가
확장자가 없으면 .png 추가 하는 스크립트입니다 -
많이 배우네요. 프로그램짜는게 요새 왤케 재밌죠 ㅎㅎ
-
분류 | 제목 | 글쓴이 | 최근변경 | 추천 |
---|---|---|---|---|
질문 | Hide 관련 질문 5 | 파더 | 2014.11.29 | 0/0 |
자유 | 에휴...고생해서 만든것들이 다 날라갔어요 ㅠㅠ 2 | flem | 2014.12.01 | 0/0 |
자유 | 오늘도 그냥 지나가기 심심해서 팁 하나 올려요. 이미... 2 | swksd | 2014.11.30 | 0/0 |
질문 | 변수에 관한 질문 5 | 파더 | 2014.11.30 | 0/0 |
질문 | 몬스터 길들이기 패치후에. 4 | 페르니코 | 2017.12.18 | 0/0 |
질문 | 스크립트 좀더 간략하게 작성방법이 있을까요. 8 | 우후훅 | 2014.12.04 | 0/0 |
질문 | 비활성마우스클릭 질문드려요 단키와 합성키 12 | 성인남자 | 2014.12.02 | 0/0 |
정보 | 그리기 / DRAW / GDIP 화면에 선 도형 그리기 (예제) 3 | 따기따기 | 2014.12.12 | 0/0 |
질문 | 지니모션은 인터넷에 돌아다니는거아무거나사용해도되... 2 | 튀니지사람들 | 2014.12.02 | 0/0 |
질문 | 혹시 1004 매크로 1920 * 1080 해상도를 세나에 맞춰 ... | 인사왕바이킹 | 2014.12.01 | 0/0 |
질문 | 어떤 이미지를 찾을때 같은 이미지가 있을때 대한 처리 7 | 프로구라머 | 2014.12.07 | 0/0 |
정보 | 스크린샷 캡춰방법 (마지막이야기님 요청) 14 | 호로록뚝딱 | 2015.03.24 | 3/0 |
질문 | 리스트박스 관련질문 4 | 파더 | 2014.12.03 | 0/0 |
질문 | 체크박스 if 에대해서 6 | 파더 | 2014.12.04 | 0/0 |
질문 | 오토핫키 이미지서치좀 봐주세요ㅡ모비즌연동 8 | 뀨잉여기좋아 | 2014.12.05 | 0/0 |
질문 | 1004매크로 1 | dlalsrb86 | 2014.12.04 | 0/0 |
자유 | 오토핫키컴파일 이후 Themida 패킹 사용하면되는건가요? | 파더 | 2014.12.04 | 0/0 |
자유 | 아주 간단한건데.. 하면 이쁜 gui 색입히기... 2 | 로우얄 | 2017.12.19 | 0/0 |
질문 | VMProtect Unpack 17 | 외치기 | 2017.03.19 | 0/0 |
질문 | 와 ,,,핫오토키는 뭔가여... 3 | 찬쓰찬쓰 | 2014.12.12 | 1/0 |