AutoHotKey

IE.ahk COM 환상강의

by 디케 posted Feb 10, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

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