COM 환상강의
http://cafe.naver.com/autohotkey.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=958
;COM.ahk 라이브러리 제대로 사용하기
;autohotkey\lib 폴더를 만들어 COM.ahk 복사한다.
;이 작업으로 #include 설정이 필요없게 된다.
php의 경우 <? ?>
c의 경우 void main() 처럼
com을 시작할때에는 반드시 com_init() 을 써줘야 합니다.
;[바탕화면 보기] 클릭과 같은효과(모든창을 최소화)
com_init()
shell := Com_CreateObject("Shell.Application")
Com_invoke(shell, "minimizeall")
변수(개체) := Com_CreateObject("ActiveX 이름문자열")
코드는 조작명령을 개체로 만들어 변수에 넣어주고 그 변수로 장난질 합니다.
com_invoke는 담아놓은 객체변수의 기능을 실행하라는 이야기입니다.
com_invoke(객체변수, "함수이름")은 shell이 가지고 있는 함수를 호출하는 명령라인입니다.
;http://msdn.microsoft.com/en-us/library/bb776890(VS.85).aspx
Shell Object에는 minimizeall 외에도 수많은 기능들이 있음을 알 수 있습니다.
;http://msdn.microsoft.com/en-us/library/bb774094(v=VS.85).aspx
com_invoke(shell, "TrayProperties") 라고 넣고 실행하면 작업줄 메뉴 속성 대화상자가 나옵니다.
com_invoke(shell, "TileHorizontally") 라고 하면 현재 열려진 창을 잘 정렬해 줍니다.
com_invoke(shell, "CascadeWindows") 도 역시 창이 여러개 일 때, 잘 정렬해 줍니다.
COM과 DLL 또는 다른함수 모두 배포방식과 호출방식가 조금 다를 뿐
남이 만든것을 쉽게 불러서 사용한다는 기본은 같습니다.
Dllcall(dll 파일지정, dll 내에 있는 여러함수 중 어떤 함수를 호출할 것인가)
Dllcall은 C 언어에 맞춰져서 호출시에 데이터형까지 고려해야 하고 그 중간과정에서
데이터 조작이 많은 경우 어려울 수 밖에 없습니다만 COM은 진보된 형태의 조작방식입니다.
COMView 로 자신의 시스템을 하나하나 살펴볼 수 있다.
설명과 다운로드는
;http://www.japheth.de/COMView.html