Skip to content
AutoHotKey
2011.02.21 23:55

COM 사용

조회 수 19065 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

ahk_l COM  사용



com_CreateObject 는 새롭게 만드는 것이고,

그후에 com_invoke로 세부 명령을 주는 방식으로 사용되는데...


현재 띄워져 있는 익스플로러의 InternetExplorer.Application 을 invoke 해서 
document의 body를 만진다... 라고 할때

InternetExplorer.Application의정보는


http://www.autohotkey.com/forum/topic34972.html 




;네이버가 타이틀에 포함된 익스플로러 창이 존재하면, google 창으로 이동시킵니다. 

COM_Init() 
pageSearched:="네이버" 
Loop, % COM_Invoke(psw := COM_Invoke(psh:=COM_CreateObject("Shell.Application"), "Windows"), "Count") 

LocationName:=COM_Invoke(pwb:=COM_Invoke(psw, "Item", A_Index-1), "LocationName") 
IfInString,LocationName,%pageSearched% 

url:="http://www.google.com" 
COM_Invoke(pwb, "Navigate", url) 
Break 


COM_Release(pwb) ;didnt break so release the one we didnt use 


return




#include, com.ahk 
COM_Init() 
pageSearched:="네이버" 
psh:=COM_CreateObject("Shell.Application") 
psw:=COM_Invoke(psh, "Windows") 
LCt:=COM_Invoke(psw, "Count")                                        ;Shell.Windows.Count (LoopCount) 
  Loop, % lct 
  { 
  pwb:=COM_Invoke(psw, "Item", A_Index-1)                    ;Shell.Windows.Item 
;pwb:=Shell.Windows.Item 의 값이 0이면(Shell.Windows.Item가 아니면) Continue(LocationName 에서 에러발생) 
      if pwb=0 
      Continue 
  LocationName:=COM_Invoke(pwb, "LocationName")          ;창이름을 갖는 변수 (InternetExplorer Object) 
      IfInString,LocationName,%pageSearched% 
      { 
      url:="http://www.google.com" 
      COM_Invoke(pwb, "Navigate", url) 
      Break 
      } 
  COM_Release(pwb) 
  } 

약간의 주석과 초보자가 보기쉽게 수정해봤어요.. 주석이 맞으려나 모르겠네요; 
;pwb:=Shell.Windows.Item 의 값이 0이면(Shell.Windows.Item가 아니면) Continue(LocationName 에서 에러발생) 
      if pwb=0 
      Continue 
이부분은 써놓고도 뭔지 모르겠어요;





    Basic understanding of COM Pointer 
    Understanding of COM_CreateObject MSDN 
      MSDN does a fine job explaining this i wont re hash it just remember creates a parent object for use with our invoke calls

    Understanding of COM_AtlAxGetControl MSDN 
    Understanding of COM_AtlAxCreateContainer MSDN 
      we will be using COM_AtlAxCreateContainer and COM_AtlAxGetControl in our examples just remember this is a way of getting a control pointer from a window control that we are in our case creating

    Understanding of COM_Invoke MSDN 
      Sean gives us a Basic Example. Basically this is an execution function. if you need to get or set a value execute a method of move from a parent object to a member object you can do so from COM_Invoke

    Understanding of COM_Release MSDN 
      In the interest of trying to dumb this down here goes. 
      everytime you create a pointer to an object or interface you should release it for each time you create it you do not release strings just object and interface pointers. Its a way of freeing memory and its good for your program but well if you dont do it the worst that can happen on most beginner scripts is some semi slow performance

    Understanding of COM_QueryService MSDN 
      In our examples we will use this function to get one object pointer from another using CLSID. there are instances when getting pwin can bypass some security zone settings which can cause scripts to fail at times

    Understanding of COM_QueryInterface MSDN 
      Returns a pointer to a specified interface on an object to which a client currently holds an interface pointer.

    Understanding of COM_ConnectObject MSDN 
      Just remember this is how we can setup ahk access to events. Gonna be a much later before I cover events but be patient


It is also imperitive that we have an understanding of the following 

    Basic Understanding of IE architecture MSDN 
    Basic understanding of the webrowser object for Gui MSDN [url=http://msdn.microsoft.com/en-us/library/aa741312(VS.85).aspx]MSDN[/url]


For our automation tasks we will be aquireing and interface pointer to iWebrowser2 through out my examples you will see this reflected as pwb 
    First I want to remind all please have COM in the standard libraries such as c:\program files\autohotkey\lib 

    Always initialize COM once per script 
    If you will not be using a GUI object





로그인 후 댓글쓰기가 가능합니다.

?

  1. 17
    Mar 2012
    08:09

    autohotkey) 화면보호기, 바탕화면 control 창 열기

    CategoryAutoHotKey Views8342
    Read More
  2. 17
    Mar 2012
    08:14

    autohotkey) 스크린세이버 활성화 / 비활성화 시키기.

    CategoryAutoHotKey Views8035
    Read More
  3. 12
    May 2012
    17:06

    AHK) AUTOKEY 웹페이지 열지않고 소스 가져오기 또는 로그인 하기

    CategoryAutoHotKey Views52952
    Read More
  4. 30
    May 2012
    16:57

    autohotkey) 런처시스템

    CategoryAutoHotKey Views14286
    Read More
  5. 23
    Aug 2012
    14:34

    Autohotkey) EditPlus에 구문 색깔 입히기

    CategoryAutoHotKey Views10809
    Read More
  6. 21
    Nov 2012
    18:31

    AHK) 보안프로그램 등으로 화면복사(Printscreen) 안될때 사용방법

    CategoryAutoHotKey Views47165
    Read More
  7. 26
    Nov 2012
    18:44

    autohotkey) 파일리스트 가져오기

    CategoryAutoHotKey Views14980
    Read More
  8. 06
    Jan 2013
    16:38

    Ahk) 웹페이지 감시결과에 따라 마이피플로 글 전송하기

    CategoryAutoHotKey Views44023
    Read More
  9. 27
    Jan 2013
    13:10

    autohotkey)매월 1일의 요일 구하기

    CategoryAutoHotKey Views15262
    Read More
  10. 12
    Mar 2013
    16:47

    Autohotkey + mypeople(마이피플) 메시지 전송

    CategoryAutoHotKey Views15431
    Read More
  11. 31
    Jul 2013
    13:22

    autohotkey) 30분마다 자동으로 디스크 정리하기

    CategoryAutoHotKey Views33070
    Read More
  12. 30
    Oct 2013
    16:51

    ahk) 열려진 엑셀창의 값 불러오기

    CategoryAutoHotKey Views32528
    Read More
  13. 30
    Oct 2013
    16:59

    ahk) autohotkey 글자 자르기 방법

    CategoryAutoHotKey Views34672
    Read More
  14. 30
    Oct 2013
    17:04

    ahk) autohotkey 엑셀(Excel)에서 행값 증가시키기

    CategoryAutoHotKey Views37415
    Read More
  15. 30
    Oct 2013
    17:11

    autohotkey) 오토핫키에서 자주쓰는 함수모음

    CategoryAutoHotKey Views33659
    Read More
  16. 30
    Oct 2013
    17:50

    ahk) 오토핫키 콤보박스 제어하기

    CategoryAutoHotKey Views38176
    Read More
  17. 01
    Apr 2014
    15:54

    엑셀 셀 복사하기(복사제한된 엑셀등)

    CategoryAutoHotKey Views7781
    Read More
  18. 01
    Apr 2014
    17:12

    ahk) autohotkey controlgettext 이름을 마우스커서에 졸졸 따라다니게 하기

    CategoryAutoHotKey Views12182
    Read More
  19. 26
    Jan 2015
    17:19

    Autohotkey 브라우저 제어 테스트

    CategoryAutoHotKey Views8203
    Read More
  20. 17
    Jan 2018
    22:14

    ahk) Send an email 메일발송하기

    CategoryAutoHotKey Views9390
    Read More
Board Pagination Prev 1 2 3 4 5 Next
/ 5

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소