Skip to content
조회 수 19029 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

[ahk] 다른 프로그램의 트레이 아이콘을 숨기기

;http://www.autohotkey.com/forum/topic36235.html 

Ok here is the solution: 
Download the AHK script TrayIcon.ahk. 
You can find it here: 
http://www.autohotkey.com/forum/topic17314.html 

It has many functions to work with TrayIcons. 
If you want to hide "yourapp.exe" edit that script. 
Cut off this: 
MsgBox % TrayIcons() 

And place this instead of it: 
RegExMatch(TrayIcons("yourapp.exe"), "(?<=idn: )\d+", idn) ; This finds out the ID of the Tray Icon of "yourapp.exe" 
HideTrayIcon(idn) ; This hides that icon :D 

This works to me. 


;http://www.autohotkey.com/forum/topic41097.html



;실전예제

;알약(AYAgent.aye)으로 테스트 완료 
;"AYAgent.aye"대신 해당 트레이 아이콘과 연결되어 있는 프로세스를 넣어주시면 됩니다. 

#NoTrayIcon 
DetectHiddenWindows, On 
RegExMatch(TrayIcons("AYAgent.aye"), "(?<=idn: )\d+", idn) 
HideTrayIcon(idn) 
Return 

TrayIcons(sExeName = "") 

WinGet, pidTaskbar, PID, ahk_class Shell_TrayWnd 
hProc:= DllCall("OpenProcess", "Uint", 0x38, "int", 0, "Uint", pidTaskbar) 
pProc:= DllCall("VirtualAllocEx", "Uint", hProc, "Uint", 0, "Uint", 32, "Uint", 0x1000, "Uint", 0x4) 
idxTB:= GetTrayBar() 
SendMessage, 0x418, 0, 0, ToolbarWindow32%idxTB%, ahk_class Shell_TrayWnd  ; TB_BUTTONCOUNT 
Loop, %ErrorLevel% 

SendMessage, 0x417, A_Index-1, pProc, ToolbarWindow32%idxTB%, ahk_class Shell_TrayWnd  ; TB_GETBUTTON 
VarSetCapacity(btn,32,0), VarSetCapacity(nfo,32,0) 
DllCall("ReadProcessMemory", "Uint", hProc, "Uint", pProc, "Uint", &btn, "Uint", 32, "Uint", 0) 
iBitmap := NumGet(btn, 0) 
idn := NumGet(btn, 4) 
Statyle := NumGet(btn, 8) 
If dwData := NumGet(btn,12) 
iString := NumGet(btn,16) 
Else dwData := NumGet(btn,16,"int64"), iString:=NumGet(btn,24,"int64") 
DllCall("ReadProcessMemory", "Uint", hProc, "Uint", dwData, "Uint", &nfo, "Uint", 32, "Uint", 0) 
If NumGet(btn,12) 
hWnd := NumGet(nfo, 0) 
, uID := NumGet(nfo, 4) 
, nMsg := NumGet(nfo, 8) 
, hIcon := NumGet(nfo,20) 
Else hWnd := NumGet(nfo, 0,"int64"), uID:=NumGet(nfo, 8), nMsg:=NumGet(nfo,12) 
WinGet, pid, PID,              ahk_id %hWnd% 
WinGet, sProcess, ProcessName, ahk_id %hWnd% 
WinGetClass, sClass,          ahk_id %hWnd% 
If !sExeName || (sExeName = sProcess) || (sExeName = pid) 
VarSetCapacity(sTooltip,128), VarSetCapacity(wTooltip,128*2) 
, DllCall("ReadProcessMemory", "Uint", hProc, "Uint", iString, "Uint", &wTooltip, "Uint", 128*2, "Uint", 0) 
, DllCall("WideCharToMultiByte", "Uint", 0, "Uint", 0, "str", wTooltip, "int", -1, "str", sTooltip, "int", 128, "Uint", 0, "Uint", 0) 
, sTrayIcons .= "idx: " . A_Index-1 . " | idn: " . idn . " | Pid: " . pid . " | uID: " . uID . " | MessageID: " . nMsg . " | hWnd: " . hWnd . " | Class: " . sClass . " | Process: " . sProcess . "`n" . "  | Tooltip: " . sTooltip . "`n" 

DllCall("VirtualFreeEx", "Uint", hProc, "Uint", pProc, "Uint", 0, "Uint", 0x8000) 
DllCall("CloseHandle", "Uint", hProc) 
Return sTrayIcons 


RemoveTrayIcon(hWnd, uID, nMsg = 0, hIcon = 0, nRemove = 2) 

NumPut(VarSetCapacity(ni,444,0), ni) 
NumPut(hWnd , ni, 4) 
NumPut(uID  , ni, 8) 
NumPut(1|2|4, ni,12) 
NumPut(nMsg , ni,16) 
NumPut(hIcon, ni,20) 
Return DllCall("shell32\Shell_NotifyIconA", "Uint", nRemove, "Uint", ∋) 


HideTrayIcon(idn, bHide = True) 

idxTB := GetTrayBar() 
SendMessage, 0x404, idn, bHide, ToolbarWindow32%idxTB%, ahk_class Shell_TrayWnd  ; TB_HIDEBUTTON 
SendMessage, 0x1A, 0, 0, , ahk_class Shell_TrayWnd 


DeleteTrayIcon(idx) 

idxTB := GetTrayBar() 
SendMessage, 0x416, idx - 1, 0, ToolbarWindow32%idxTB%, ahk_class Shell_TrayWnd  ; TB_DELETEBUTTON 
SendMessage, 0x1A, 0, 0, , ahk_class Shell_TrayWnd 


MoveTrayIcon(idxOld, idxNew) 

idxTB := GetTrayBar() 
SendMessage, 0x452, idxOld - 1, idxNew - 1, ToolbarWindow32%idxTB%, ahk_class Shell_TrayWnd ; TB_MOVEBUTTON 


GetTrayBar() 

ControlGet, hParent, hWnd,, TrayNotifyWnd1  , ahk_class Shell_TrayWnd 
ControlGet, hChild , hWnd,, ToolbarWindow321, ahk_id %hParent% 
Loop 

ControlGet, hWnd, hWnd,, ToolbarWindow32%A_Index%, ahk_class Shell_TrayWnd 
If  Not hWnd 
Break 
Else If hWnd = %hChild% 

idxTB := A_Index 
Break 


Return idxTB 
}







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

?

List of Articles
번호 분류 제목 날짜 조회 수
757 컴퓨터잡담 [TCP/IP] 인터넷 연결 문제 복구 및 확인방법 2 2011.06.23 19910
756 Excel PDF, EXCEL 파일 변환 1 2012.06.30 19810
755 컴퓨터잡담 [php] 특수문자 -> 엔티티, 엔티티 -> 특수문자 2 2009.09.19 19807
754 컴퓨터잡담 문서 보안 프로그램 삭제 방법 1 2013.02.02 19685
753 WindowsTip 탐색기로 ftp 폴더 바로열기 file 2013.12.03 19666
752 AutoHotKey Internet Explorer Control 2011.02.11 19663
751 컴퓨터잡담 MYSQL Qcache 값 조정~~~ 1 2010.04.13 19554
750 파이썬 Windows용 Tesseract 설치 및 사용법 2022.11.26 19541
749 컴퓨터잡담 Windows XP에서 Boot.ini 파일을 편집하는 방법 2009.12.08 19534
748 AutoHotKey AHK에서 가능한 COM 인터넷 익스플로러 및 GUI 브라우저 1 2011.02.11 19502
747 컴퓨터잡담 [Autohotkey] 인터넷 창을 여러개 띄우고 컨트롤 할때 ahk_id 알아내기 1 3 2009.12.19 19463
746 컴퓨터잡담 주식투자, 성공투자 원칙을 지키는 방법 1 2 2009.08.09 19425
745 파이썬 파이썬 화면 캡쳐하기 2022.11.26 19343
744 파이썬 파이썬으로 captCha 분석하여 웹사이트 소스 가져오기 2023.03.25 19205
743 프로세스 Spoo1sv.exe 바이러스 치료하기 1 12 2011.11.28 19179
742 Excel 엑셀) 날짜를 요일로 변환하기 2 2012.03.16 19179
741 AutoHotKey autohotkey) IPv6 모두 사용안함 설정하기 1 file 2011.12.30 19133
740 AutoHotKey COM 사용 1 2011.02.21 19065
» AutoHotKey [ahk] 다른 프로그램의 트레이 아이콘을 숨기기 1 4 2011.02.16 19029
738 컴퓨터잡담 [javascript_tip]자바스크립트 값 넘기기 2 1 2010.10.10 18961
Board Pagination Prev 1 ... 7 8 9 10 11 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소