2015-01-12 1 views
1

AutoHotKey에서 ahk_class NAME은 프로그램에 대한 좋은 식별자입니다. 일반적으로, 지금은 다음과 같은 두 가지 방법을 사용"동적"/ "불안정"ahk_class 이름에 대한 해결책?

간단히 가장 최근에 호출 된 활성 인스턴스를 호출
  1. :

    을; \ 프로그램 파일 \ Windows 필기장 \ 승 + Shift + X Windows 필기장 응용 프로그램을 가지고 (또는 전환)합니다

    + X :

    IfWinExist JournalApp ahk_class의 정확한 WinActivate 다른 JournalApp ahk_class의 정확한 실행 C를 누르면 재귀 Journal.exe 반환

  2. 호출 인스턴스 :

내가 모질라 ahk_class의 정확한, 화재를 groupadd

; pressing will "loop through" all the live session of Firefox. 
#3:: 
IfWinExist ahk_class MozillaWindowClass 
     groupactivate, FIRE, r 
else 
    run firefox 
return 

WindowClass

은 그러나, 안정적인 ahk_class 이름이없는 특정 프로그램이 있습니다. 예를 들어, ArcMap.exe는 AHK의 "윈도우 스파이"창에서 다음과 같은 정보를 표시해야합니다

>>>>>>>>>>(Window Title & Class)<<<<<<<<<<< 
Untitled - ArcMap 
ahk_class Afx:012F0000:b:00010003:00000006:001C0BB0 

내가 동적 ahk_class을 가지고이 응용 프로그램을 참조 수있는 방법 어떤 생각을?

나는 ahk_exe이라는 것도 알고 있습니다. 그러나 나는 방법 groupadd, groupactivate 또는 IfWinExist과 호환되는 것을 찾지 못했습니다.

+1

사용중인 Autohotkey의 버전은 무엇입니까? 'msgbox % A_AhkVersion' ahk_exe는 v1.1.01 + http://ahkscript.org/download/ahk-install.exe가 필요합니다. – blackholyman

+0

@blackholyman, 고마워요! 당신 말이 맞아요. 나는 v1.0을 실행 중이다. *** 버전. 백그라운드에서 AHK 배포를 업데이트하면 모든 문제가 해결됩니다. – llinfeng

답변

2

ahk_exe을 통합하려고 시도 중입니다. GroupAdd (그리고 그 외 모든 명령은 WinTitle parameter을받습니다) 이고은 AHK_L과 호환됩니다. 난 당신이 AHK의 최신 버전을 사용하지 않을 생각

GroupAdd, notepad, ahk_exe notepad.exe 
Run, notepad.exe 
WinWaitActive, ahk_group notepad 
Sleep, 1000 
WinClose, ahk_group notepad 

:이 샘플 코드는 내 컴퓨터에서 완벽하게 작동합니다. 그것을 here 얻고 또 한번 시도하십시오.

+1

테스트 해 주셔서 감사합니다. 배경 응용 프로그램을 업데이트하면 문제가 해결됩니다. 하지만 다운로드 페이지 링크는 다음과 같습니다. http : //ahkscript.org/download/ – llinfeng

+0

@llinfeng 맞습니다. 링크를 업데이트했습니다. – MCL

관련 문제