前兩天有朋友找我,讓幫忙寫個(gè)小工具,隱藏windows的托盤圖標(biāo),想想最近在家也不想做太復(fù)雜的事,也好幾年沒(méi)寫過(guò)windows上的小工具了,就答應(yīng)了。想來(lái)挺簡(jiǎn)單的事,沒(méi)想到還是有點(diǎn)小插曲的。特地來(lái)博客園上記錄一下,方便自己也方便大家。
隱藏托盤圖標(biāo)主要有如下5個(gè)步驟:
1.獲取ToolbarWindow32窗口對(duì)象句柄,因?yàn)閳D標(biāo)都在這里面。(有兩個(gè),用spy++找了好久才找全)
2.注入ToolbarWindow32進(jìn)程,發(fā)送TB_BUTTONCOUNT/TB_GETBUTTON消息。
3.讀取TBBUTTON和TRAYDATA結(jié)構(gòu)體數(shù)據(jù)。(64位和32位差異比較大,網(wǎng)上基本上都是32位的,查看了msdn才搞清楚TBBUTTON的結(jié)構(gòu)體,TRAYDATA的結(jié)構(gòu)體基本上就靠查資料和結(jié)合數(shù)據(jù)猜)
4.設(shè)置NOTIFYICONDATA結(jié)構(gòu)體。
5.完工。