<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Autoit_%EC%95%84%EC%9D%B4%EC%BD%98_%EB%B3%80%EA%B2%BD</id>
	<title>Autoit 아이콘 변경 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Autoit_%EC%95%84%EC%9D%B4%EC%BD%98_%EB%B3%80%EA%B2%BD"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Autoit_%EC%95%84%EC%9D%B4%EC%BD%98_%EB%B3%80%EA%B2%BD&amp;action=history"/>
	<updated>2026-07-02T06:44:00Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=Autoit_%EC%95%84%EC%9D%B4%EC%BD%98_%EB%B3%80%EA%B2%BD&amp;diff=2350&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: AutoIt - Ctrl 키 누름 감지 → 트레이 아이콘 변경 Ctrl 키 상태를 주기적으로 체크해서 아이콘을 바꾸는 방식입니다.  핵심 함수 	∙	_IsPressed(&quot;11&quot;) → Ctrl 키 상태 감지 (0x11 = VK_CONTROL) 	∙	TraySetIcon() → 트레이 아이콘 변경  구현 코드 &lt;source lang=autoit&gt;  #include &lt;Misc.au3&gt; #include &lt;TrayConstants.au3&gt;  Opt(&quot;TrayMenuMode&quot;, 0)  ; 아이콘 경로 설정 Global $sIconNormal = @SystemDir &amp; &quot;\shell32.dll&quot;   ; 기본...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Autoit_%EC%95%84%EC%9D%B4%EC%BD%98_%EB%B3%80%EA%B2%BD&amp;diff=2350&amp;oldid=prev"/>
		<updated>2026-02-24T07:42:51Z</updated>

		<summary type="html">&lt;p&gt;새 문서: AutoIt - Ctrl 키 누름 감지 → 트레이 아이콘 변경 Ctrl 키 상태를 주기적으로 체크해서 아이콘을 바꾸는 방식입니다.  핵심 함수 	∙	_IsPressed(&amp;quot;11&amp;quot;) → Ctrl 키 상태 감지 (0x11 = VK_CONTROL) 	∙	TraySetIcon() → 트레이 아이콘 변경  구현 코드 &amp;lt;source lang=autoit&amp;gt;  #include &amp;lt;Misc.au3&amp;gt; #include &amp;lt;TrayConstants.au3&amp;gt;  Opt(&amp;quot;TrayMenuMode&amp;quot;, 0)  ; 아이콘 경로 설정 Global $sIconNormal = @SystemDir &amp;amp; &amp;quot;\shell32.dll&amp;quot;   ; 기본...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;AutoIt - Ctrl 키 누름 감지 → 트레이 아이콘 변경&lt;br /&gt;
Ctrl 키 상태를 주기적으로 체크해서 아이콘을 바꾸는 방식입니다.&lt;br /&gt;
&lt;br /&gt;
핵심 함수&lt;br /&gt;
	∙	_IsPressed(&amp;quot;11&amp;quot;) → Ctrl 키 상태 감지 (0x11 = VK_CONTROL)&lt;br /&gt;
	∙	TraySetIcon() → 트레이 아이콘 변경&lt;br /&gt;
&lt;br /&gt;
구현 코드&lt;br /&gt;
&amp;lt;source lang=autoit&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Misc.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;TrayConstants.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opt(&amp;quot;TrayMenuMode&amp;quot;, 0)&lt;br /&gt;
&lt;br /&gt;
; 아이콘 경로 설정&lt;br /&gt;
Global $sIconNormal = @SystemDir &amp;amp; &amp;quot;\shell32.dll&amp;quot;   ; 기본 아이콘&lt;br /&gt;
Global $sIconCtrl   = @SystemDir &amp;amp; &amp;quot;\shell32.dll&amp;quot;   ; Ctrl 눌렸을 때 아이콘&lt;br /&gt;
Global $iIconNormal = 1    ; shell32.dll 내 아이콘 인덱스&lt;br /&gt;
Global $iIconCtrl   = 21   ; 다른 인덱스 (원하는 번호로 변경)&lt;br /&gt;
&lt;br /&gt;
Global $bCtrlPressed = False&lt;br /&gt;
&lt;br /&gt;
; 트레이 메뉴&lt;br /&gt;
$idExit = TrayCreateItem(&amp;quot;종료&amp;quot;)&lt;br /&gt;
TrayItemSetOnEvent($idExit, &amp;quot;_DoExit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
; 초기 아이콘 설정&lt;br /&gt;
TraySetIcon($sIconNormal, $iIconNormal)&lt;br /&gt;
TraySetState($TRAY_ICONSTATE_SHOW)&lt;br /&gt;
&lt;br /&gt;
; Ctrl 키 감지를 AdlibRegister로 등록 (100ms 주기)&lt;br /&gt;
AdlibRegister(&amp;quot;_CheckCtrlKey&amp;quot;, 100)&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
    Sleep(50)&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
Func _CheckCtrlKey()&lt;br /&gt;
    Local $bNowPressed = _IsPressed(&amp;quot;11&amp;quot;)  ; 0x11 = VK_CONTROL&lt;br /&gt;
&lt;br /&gt;
    If $bNowPressed And Not $bCtrlPressed Then&lt;br /&gt;
        ; Ctrl 키 눌림 → 아이콘 변경&lt;br /&gt;
        $bCtrlPressed = True&lt;br /&gt;
        TraySetIcon($sIconCtrl, $iIconCtrl)&lt;br /&gt;
        TraySetToolTip(&amp;quot;Ctrl 키 누름!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    ElseIf Not $bNowPressed And $bCtrlPressed Then&lt;br /&gt;
        ; Ctrl 키 해제 → 원래 아이콘 복원&lt;br /&gt;
        $bCtrlPressed = False&lt;br /&gt;
        TraySetIcon($sIconNormal, $iIconNormal)&lt;br /&gt;
        TraySetToolTip(&amp;quot;대기중&amp;quot;)&lt;br /&gt;
    EndIf&lt;br /&gt;
EndFunc&lt;br /&gt;
&lt;br /&gt;
Func _DoExit()&lt;br /&gt;
    Exit&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
커스텀 .ico 파일 사용시&lt;br /&gt;
&amp;lt;source lang=autoit&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; .ico 파일 직접 사용&lt;br /&gt;
Global $sIconNormal = @ScriptDir &amp;amp; &amp;quot;\normal.ico&amp;quot;&lt;br /&gt;
Global $sIconCtrl   = @ScriptDir &amp;amp; &amp;quot;\ctrl_mode.ico&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; 인덱스는 0 또는 1&lt;br /&gt;
TraySetIcon($sIconNormal, 0)&lt;br /&gt;
&lt;br /&gt;
; Ctrl 눌렸을 때&lt;br /&gt;
TraySetIcon($sIconCtrl, 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
shell32.dll 주요 아이콘 인덱스 참고&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|인덱스|모양    |&lt;br /&gt;
|---|------|&lt;br /&gt;
|1  |일반 파일 |&lt;br /&gt;
|4  |폴더    |&lt;br /&gt;
|15 |검색    |&lt;br /&gt;
|21 |정보 (i)|&lt;br /&gt;
|44 |경고    |&lt;br /&gt;
|109|네트워크  |&lt;br /&gt;
|238|자물쇠   |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
포인트 정리&lt;br /&gt;
	∙	AdlibRegister(&amp;quot;_CheckCtrlKey&amp;quot;, 100) : 100ms마다 자동 호출, 메인 루프 방해 없음&lt;br /&gt;
	∙	_IsPressed(&amp;quot;11&amp;quot;) : 16진수 문자열로 전달 (“11” = 0x11)&lt;br /&gt;
	∙	상태 변화 시에만 TraySetIcon() 호출 → 불필요한 깜빡임 방지&lt;br /&gt;
	∙	Left Ctrl만 감지하려면 &amp;quot;A2&amp;quot; (VK_LCONTROL) 사용&lt;br /&gt;
&lt;br /&gt;
[[category:autoit]]&lt;/div&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
</feed>