제 모모 이름이 testing1 입니다.
^F1::
file := "%A_ScriptDir%\sss.bmp"
pToken := Gdip_Startup()
pBitmap := Gdip_BitmapFromHWND(testing1)
Gdip_세이브BitmapToFile(pBitmap, file)
Gdip_DisposeImage(pBitmap)
Gdip_Shutdown(pToken)
return
이걸 실행시키고 컨트롤+F1을 누르면 매클폴더에 sss.bmp란 파일이 생겨야 하는거 아닌가요?
안되네요 ㅜㅜ 세이브는 a,v 가 안써져서 한글로 넣었습니다.
file := "%A_ScriptDir%\sss.bmp" >> file := A_ScriptDir "\sss.bmp"
변수에 대입시 := 를 사용할때는 문자는 기본적으로 변수로 인식합니다.
그리고 " "안의 내용은 문자로 인식합니다.
msgbox 같은걸로 로깅해보시면 차이를 알수 있습니다.
왼쪽을 msgbox로 표기하면 %A_ScriptDir%\sss.bmp 가 출력되죠.
오른쪽은 스크립트경로\sss.bmp로 나타날겁니다.
그리고
pBitmap := Gdip_BitmapFromHWND(hwnd)의 기본 매개변수는 title이 아닌 hwnd입니다. (0xEA0020 이런식으로 표기되던가 10진수로 표기되죠)
당연히 함수가 제대로 작동하지 않습니다.
winget,hwnd,id,testing1 ;; title을 가지고 윈도우의 핸들을 가져오는 명령어 추가 testing1윈도우의 핸들을 hwnd 변수에 저장함.
pBitmap := Gdip_BitmapFromHWND(hwnd)로 변경해보세요.
두가지만 수정되면 될듯하네요.
스크립트를 짜실때 잘 안되시면 항상 별도의 로깅 툴을 만드시거나 msgbox등으로 변수내용을 확인해보시면 원인을 좀더 쉽게 알수 있습니다.