|
1. ¿ä¾à ¿äÁò ³ª¿À´Â ÇÁ·Î±×·¥¿¡¼´Â ´ëºÎºÐ TrayIconÀ» Á¦°øÇÕ´Ï´Ù. ´Ü¼øÈ÷ ÇÁ·Î±×·¥ ¸®½ºÆ®(ŽºÅ© ¹Ù)¿¡ ³ª¿À´Â °Íº¸´Ù´Â, TrayIconÀÌ »ç¿ëÀÚ¿¡°Ô º¸´Ù ´õ Æí¸®ÇÑ UI¸¦ Á¦°øÇϱ⠶§¹®ÀÔ´Ï´Ù. ±×·±µ¥, ÀͽºÇ÷ξî(ÀÎÅÍ³Ý ÀͽºÇ÷ξ ¾Æ´Õ´Ï´Ù.)ÀÇ ¹ö±× ¶§¹®¿¡ <±×¸² 1>°ú °°ÀÌ Á¾Á¾ TrayIconÀÌ Tray¿¡¼ »ç¶óÁö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, ¸î¸îÀÇ ÇÁ·Î±×·¥Àº »ç¶óÁöÁö ¾Ê°í °è¼Ó ³²¾ÆÀÖ´Â °æ¿ìµµ º¼ ¼ö ÀÖ½À´Ï´Ù. <±×¸² 1 - Æ®·¹ÀÌ ¾ÆÀÌÄÜ¿¡¼ »ç¶óÁö´Â ¸ð½À>±×·³ ¿ì¸®ÀÇ ÇÁ·Î±×·¥µµ ÀͽºÇ÷ξî¿Í´Â »ó°ü¾øÀÌ °è¼Ó Æ®·¹ÀÌ¿¡ ÀÖÀ¸·Á¸é ¾î¶»°³ ÇØ¾ßÇÒ±î¿ä? ÀͽºÇ÷ξî´Â ÀÚ½ÅÀÌ Á×¾ú´Ù°¡ »õ·Î ½ÃÀ۵Ǵ °æ¿ì ÇöÀç º¸ÀÌ´Â ¸ðµç À©µµ¿ì¿¡°Ô ¸ä¼¼Áö¸¦ º¸³»Áִµ¥, ¿ì¸®´Â ÀÌ ¸Þ½ÃÁö¸¦ µî·ÏÇÏ¿© »ç¿ëÇÔÀ¸·Î½á Æ®·¹ÀÌ ¾ÆÀÌÄÜÀÌ »ç¶óÁö´Â ¹ö±×¸¦ ¸·À» ¼ö ÀÖ½À´Ï´Ù. 2. º»¹® Æ®·¹ÀÌ ¾ÆÀÌÄÜ¿¡ ¹®Á¦°¡ »ý±æ °æ¿ì, ¿¹¸¦ µé¾î ÀͽºÇ÷ξ ´Ù¿îµÇ¾î Àç ½ÃÀÛÀ» µÉ ¶§¿¡´Â ÀͽºÇ÷ξ ÇöÀç Æ®·¹ÀÌ ¾ÆÀÌÄÜ¿¡ µî·ÏµÇ¾î ÀÖ´Â ¸ðµç À©µµ¿ì¿¡°Ô º¸³»ÁÖ´Â ¸Þ½ÃÁö´Â ¡°Taskbar Created"¶ó´Â ¸Þ½ÃÁö ÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ±×µ¿¾È »ìÆìº¸¾Ò´Ü ¸Þ¼¼Áö¿Í ´Ù¸¥ Á¡Àº WM_MOUSEMOVE ¿Í °°Àº »ó¼ö°ªÀÌ ¾Æ´Ï¶ó, ¹®ÀÚ¿À̶ó´Â Á¡Àε¥, ÀÌ·±½ÄÀ¸·Î ¹®ÀÚ¿·Î µÈ ¸Þ¼¼Áö´Â ½ÇÁ¦·Î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù. ¸ðµç ¸Þ¼¼Áö´Â ¹Ýµå½Ã »ó¼ö°ªÀ» °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÇÏÁö¸¸, ´Ü¼øÇÑ »ó¼ö °ªÀ¸·Î ¸Þ¼¼Áö¸¦ Ç¥ÇöÇϱ⿡´Â ÇѰ谡 Àֱ⠶§¹®¿¡ ƯÁ¤ ¹®ÀÚ¿·Î ºÎÅÍ ¸Þ¼¼Áö »ó¼ö¸¦ µî·ÏÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð, ¡°Taskbar Created" µµ °íÀ¯ÀÇ ¸Þ¼¼Áö »ó¼ö°ªÀ» À©µµ¿ì·ÎºÎÅÍ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. À̶§ ¸Þ½ÃÁö¸¦ µî·ÏÇÏ´Â ÇÔ¼ö´Â RegisterWindowMessage() ÇÔ¼ö ÀÔ´Ï´Ù. ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¹ÝȯµÇ´Â ¸Þ½ÃÁö ID¸¦ °¡Áö°í ÀÏ¹Ý ¸Þ½ÃÁöó·³ ¸Þ½ÃÁö Çڵ鷯¸¦ µî·ÏÇÏ¿© »ç¿ëÇÏ¸é µË´Ï´Ù. ±×¸®°í °á°ú´Â È®ÀÎÇØ º¸°í ½ÍÀ¸½Ã¸é, Ctrl+Alt+Del À» ´·¯¼ ÀͽºÇ÷ξî(Explorer)¸¦ ¡®ÀÛ¾÷Á¾·á¡¯ ½ÃŰ½Ã¸é Æ®·¹ÀÌ ¾ÆÀÌÄÜ¿¡¼ ¸î¸î ¾ÆÀÌÄÜÀÌ »ç¶óÁö´Â È¿°ú(?)¸¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù. ¸¸ÀÏ À©µµ¿ìÁî NT °è¿À̶ó¸é(Windows 2000 Æ÷ÇÔ) <±×¸² 2>¿Í °°ÀÌ ÀÛ¾÷ °ü¸®ÀÚ¸¦ ¶ç¿ö¼ °Á¦·Î ÇÁ·Î¼¼½º¸¦ Á¾·áÇÏ¸é µË´Ï´Ù. <±×¸² 2 - ÀÛ¾÷ °ü¸®ÀÚ>±×¸®°í, ÀͽºÇ÷ξ ´Ù½Ã ½ÃÀÛÇϱâ À§Çؼ´Â 'ÆÄÀÏ|»õ ÀÛ¾÷(½ÇÇà...)' ¸¦ ¼±ÅÃÇÏ¿© explorer À» ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù. ÇÏÁö¸¸, ¿ì¸®°¡ ¸¸µç ÇÁ·Î±×·¥ÀÇ Æ®·¹ÀÌ ¾ÆÀÌÄÜÀº ¿©ÀüÈ÷ Æ®·¹ÀÌ¿¡¼ »ì¾Æ³²´Â °ÇÑ ¸ð½ÀÀ» º¸¿©ÁÙ °ÍÀÔ´Ï´Ù. 3. ¿¹Á¦ ÄÚµå
// ¸Þ½ÃÁö µî·Ï °úÁ¤
UINT g_uShellRestart;
g_uShellRestart = RegisterWindowsMessage(__Text(¡°TaskbarCreated¡±));
// Message Map ¿¡¼
ON_REGISTERED_MESSAGE(g_uShellRestart, OnTrayShow)
// ¸Þ½ÃÁö¸¦ ó¸®ÇÕ´Ï´Ù.
LRESULT CMyDlg::OnTrayShow(WPARAM wParam, LPARAM lParam)
{
// TrayIconÀ» ´Ù½Ã º¸¿©ÁÝ´Ï´Ù. ShowTray´Â Tray¸¦ º¸¿©ÁÖ´Â ÇÔ¼öÀÔ´Ï´Ù.
m_Tray.ShowTray();
}
4. ÂüÁ¶ Windows Shell Programming - 2001.07.02 Smile Seo - |