À©¾ÚÇÁó·³ TaskBar¿Í SystemTray ¸¶À½´ë·Î ÁÖ¹«·ç±â


1.¿ä¾à

À©¾ÚÇÁ¿¡¼­ º¸¸é TaskBar¿Í SystemTray¿¡ µ¿½Ã¿¡ º¸¿©ÁÖ´Â ¸ðµå ȤÀº °¢°¢ º¸¿©ÁÖ´Â ¸ðµå ±×¸®°í ¸ðµÎ º¸¿©ÁÖÁö ¾Ê´Â ¸ðµå°¡ ÀÖ½À´Ï´Ù. 4°¡ÁöÀÇ ±â´ÉÀ» ¸ðµÎ ±¸ÇöÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.


2.º»¹®

À©¾ÚÇÁÀÇ ±â´ÉÀ» »ìÆìº¸±â À§Çؼ­ ÀÏ´Ü Spy++·Î À©¾ÚÇÁ¸¦ ¼±ÅÃÇϽÅÈÄ, ¸Þ¼¼Áö´Â WS_SHOWWINDOW ¿Í WS_STYLECHANGED ¸¸À» ¼±ÅÃÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î À©µµ¿ìÀÇ ¼Ó¼ºÀÏ ¹Ù²ð¶§ À§ÀÇ ¸Þ¼¼Áö°¡ ¹ß»ýÇÕ´Ï´Ù. ±×¸®°í ³ª¼­ ¼Ó¼ºÀ» ¿©·¯¹ø ¹Ù²Ù¾î º¸¸é ¾Æ·¡ÀÇ Ç¥¿Í °°½À´Ï´Ù.

TaskBar ¸¦ º¸¿©ÁÖ±â --> WS_EX_TOOLWINDOW ¼Ó¼º(0x0080)À» »«´Ù.
TaskBar ¿¡¼­ °¨Ãá´Ù --> WS_EX_TOOLWINDOW ¼Ó¼º(Ox0080)À» ³Ö´Â´Ù.

SystemTray¿¡¼­ °¨Ãá´Ù --> SystemTray ÀÇ HideIcon()À» È£ÃâÇÑ´Ù.
SystemTray¿¡¼­ º¸¿©ÁØ´Ù --> SystemTrayÀÇ ShowIcon()À» È£ÃâÇÑ´Ù.

¹æ¹ýÀº °£´ÜÇϰí, ÇÙ½ÉÀº ToolWindow ¼Ó¼ºÀÌ TaskBar¿¡¼­ IconÀ» °¨Ãá´Ù´Â ¼Ó¼º¿¡ ÀÖ½À´Ï´Ù. ¾Æ·¡ÀÇ ¿¹Á¦¸¦ Âü°íÇØ º¸¼¼¿ä.


3.¿¹Á¦




//***************************************************************************** 

// CShowOnlyTrayDlg::OnTaskonly() 

// Purpose: [ TaskBar¿¡¸¸ º¸¿©ÁØ´Ù.] 

// Parameters: 

// Returns: none 

//***************************************************************************** 

void CShowOnlyTrayDlg::OnTaskonly() 

{ 

    ShowWindow(SW_HIDE); 

    SetWindowLong(m_hWnd, GWL_EXSTYLE , 0x0110); 

    m_TrayIcon.HideIcon(); 

    ShowWindow(SW_SHOW); 

} 





//***************************************************************************** 

// CShowOnlyTrayDlg::OnSystemOnly() 

// Purpose: [ SystemTray Icon ¸¸ º¸¿©ÁØ´Ù. ] 

// Parameters: 

// Returns: none 

//***************************************************************************** 

void CShowOnlyTrayDlg::OnSystemOnly() 

{ 

    ShowWindow(SW_HIDE); 

    SetWindowLong(m_hWnd, GWL_EXSTYLE , 0x0190); 

    ShowWindow(SW_SHOW); 

    m_TrayIcon.ShowIcon(); 

} 





//***************************************************************************** 

// CShowOnlyTrayDlg::OnSystemTaskbar() 

// Purpose: [ SystemTray Icon°ú TaskBar¸¦ ¸ðµÎ º¸¿©ÁØ´Ù. ] 

// Parameters: 

// Returns: none 

//***************************************************************************** 

void CShowOnlyTrayDlg::OnSystemTaskbar() 

{ 

    ShowWindow(SW_HIDE); 

    SetWindowLong(m_hWnd, GWL_EXSTYLE , 0x0110); 

    m_TrayIcon.ShowIcon(); 

    ShowWindow(SW_SHOW); 

} 





//***************************************************************************** 

// CShowOnlyTrayDlg::OnNone() 

// Purpose: [ SystemTray Icon °ú TaskBar¸¦ ¸ðµÎ °¨Ãá´Ù. ] 

// Parameters: 

// Returns: none 

//***************************************************************************** 

void CShowOnlyTrayDlg::OnNone() 

{ 

    ShowWindow(SW_HIDE); 

    SetWindowLong(m_hWnd, GWL_EXSTYLE , 0x0190); 

    m_TrayIcon.HideIcon(); 

    ShowWindow(SW_SHOW); 

} 

ShowOnlyTray.zip ´Ù¿î·Îµå



- 2001.08.13 Smile Seo -