¾Õ¿¡¼ ¸¸µç ¿¹Á¦´Â Åø ÅØ½ºÆ®¸¦ ½ÇÇàÁß¿¡ ÀÓÀÇ·Î º¯°æÇÏ¿´´Âµ¥ ÀÌ ¿¹Á¦ÀÇ °æ¿ìµµ ÅøÆÁ Ãâ·Â ½ÃÁ¡À̳ª Ãâ·Â À§Ä¡´Â ÅøÆÁ ÄÁÆ®·ÑÀÌ ¾Ë¾Æ¼ °áÁ¤ÇÑ´Ù. Áï ÇÁ·Î±×·¥ÀÌ ÅØ½ºÆ®¸¸ º¯°æÇÒ »Ó ÅøÆÁ Ãâ·Â ½ÃÁ¡°ú À§Ä¡¿¡ ´ëÇØ¼´Â °ü¿©¸¦ ÇÒ ¼ö ¾ø¾ú´Âµ¥ ±×·¸°Ô ÇÒ ¼öµµ ÀÖ´Ù. Ãâ·Â À§Ä¡³ª ½ÃÁ¡À» ÇÁ·Î±×·¥ÀÌ °áÁ¤ÇÒ ¼ö ÀÖ´Â ÇüÅÂÀÇ ÅøÆÁÀ» Æ®·¡Å· ÅøÆÁÀ̶ó°í Çϸç TTF_TRACK Ç÷¡±×¸¦ ÁÖ¸é Æ®·¡Å· ÅøÆÁÀÌ ¸¸µé¾îÁø´Ù.
ÅøÆÁ ÄÁÆ®·ÑÀº Æ®·¡Å· ÅøÆÁ¿¡ ´ëÇØ¼´Â ¾ðÁ¦ ¾î´À À§Ä¡¿¡ Ãâ·ÂÇÒ °ÍÀΰ¡ ÀüÇô °ü½ÉÀ» °¡ÁöÁö ¾ÊÀ¸¸ç ÇÁ·Î±×·¥ÀÌ ¿øÇÏ´Â ½ÃÁ¡¿¡ ¿øÇÏ´Â °÷¿¡ Ãâ·ÂÇϵµ·Ï ³» ¹ö·ÁµÐ´Ù. µû¶ó¼ ÀÌ·± ÇüÅÂÀÇ ÅøÆÁÀº ¼ºêŬ·¡½ÌÀ» ÇÒ Çʿ䵵 ¾ø°í ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ÅøÆÁ ÄÁÆ®·Ñ·Î º¸³»ÁÙ Çʿ䵵 ¾ø´Ù. TTF_TRACK Ç÷¡±×¸¦ ÁöÁ¤Çß´Ù´Â °ÍÀº "³»°¡ ´Ù ¾Ë¾Æ¼ ÇÒÅ×´Ï ÅøÆÁ ³Ê´Â °¡¸¸È÷ ÀÖ¾î"¶ó´Â ÀÇ»ç Ç¥½ÃÀÌ´Ù.
Æ®·¡Å· ÅøÆÁÀÇ º¸ÀÓ°ú ¼û±èÀº TTM_TRACKACTIVATE ¸Þ½ÃÁö·Î ÁöÁ¤Çϴµ¥ ÀÌ ¸Þ½ÃÁöÀÇ lParam¿¡ ´ë»ó ÅøÀ» ÁöÁ¤Çϰí wParam¿¡ TRUE(º¸ÀÓ) ¶Ç´Â FALSE(¼û±è)¸¦ ÁöÁ¤ÇÑ´Ù. ÅøÆÁÀÇ Ãâ·Â À§Ä¡´Â TTM_TRACKPOSITION ¸Þ½ÃÁö·Î ÁöÁ¤Çϴµ¥ lParamÀÇ ÇÏÀ§ ¿öµå¿¡ xÁÂÇ¥, »óÀ§ ¿öµå¿¡ yÁÂÇ¥¸¦ Àü´ÞÇÏ¸é µÈ´Ù. ÇÁ·Î±×·¥ÀÌ ³»ºÎÀûÀÎ °è»ê¿¡ ÀÇÇØ ÅøÆÁÀ» Ãâ·ÂÇÒ ¶§¶ó°í ÆÇ´ÜµÇ¸é ÀÌ µÎ ¸Þ½ÃÁö·Î ÅøÆÁÀÇ À§Ä¡¸¦ ÁöÁ¤Çϰí ÅøÆÁÀ» º¸À̵µ·Ï ¸¸µé¸é µÈ´Ù. ±×·³ Æ®·¡Å· ÅøÆÁÀÇ ÀüÇüÀûÀÎ ¿¹Á¦¸¦ ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ.
#include <commctrl.h>
HWND hTip, hBtn;
BOOL gTrackOn=TRUE;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
INITCOMMONCONTROLSEX iccex;
TOOLINFO ti;
POINT pt;
char Mes[]="¸¶¿ì½º ¿ÞÂÊ ¹öư = ÅøÆÁ º¸ÀÓ/¼û±è";
switch(iMessage) {
case WM_CREATE:
iccex.dwICC=ICC_WIN95_CLASSES;
iccex.dwSize=sizeof(INITCOMMONCONTROLSEX);
InitCommonControlsEx(&iccex);
hTip=CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,NULL,0,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
hWnd,NULL,g_hInst,NULL);
ti.cbSize=sizeof(TOOLINFO);
ti.uFlags=TTF_IDISHWND | TTF_TRACK;// | TTF_ABSOLUTE;
ti.hwnd=hWnd;
ti.uId=(WPARAM)hWnd;
ti.lpszText="¸¶¿ì½º¸¦ µû¶ó ´Ù´Ï´Â ÅøÆÁ";
SendMessage(hTip,TTM_ADDTOOL,0,(LPARAM)(LPTOOLINFO)&ti);
SendMessage(hTip, TTM_TRACKACTIVATE,(WPARAM)TRUE,(LPARAM)&ti);
return 0;
case WM_MOUSEMOVE:
if (gTrackOn) {
GetCursorPos(&pt);
SendMessage(hTip,TTM_TRACKPOSITION,0,(LPARAM)MAKELPARAM(pt.x,pt.y+25));
}
return 0;
case WM_LBUTTONDOWN:
gTrackOn=!gTrackOn;
ti.cbSize=sizeof(TOOLINFO);
ti.uFlags=TTF_IDISHWND;
ti.hwnd=hWnd;
ti.uId=(WPARAM)hWnd;
SendMessage(hTip, TTM_TRACKACTIVATE,(WPARAM)gTrackOn,(LPARAM)&ti);
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
TextOut(hdc,10,10,Mes,lstrlen(Mes));
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
½ÇÇàÇØ º¸¸é ÅøÆÁÀÌ Ä¿¼¸¦ µû¶ó °¡¸ç ¿òÁ÷ÀÏ °ÍÀÌ´Ù. ÅøÆÁÀÇ º¸ÀÓ°ú ¼û±èÀº ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ¸·Î Åä±ÛÇÑ´Ù.
WM_LBUTTONDOWN¿¡¼ TTM_TRACKACTIVATE ¸Þ½ÃÁö·Î ÅøÆÁÀÇ Ãâ·Â ¿©ºÎ¸¦ Åä±ÛÇϸç Àü¿ª º¯¼ö gTrackOn º¯¼öµµ °°ÀÌ Åä±Û½ÃŲ´Ù. À§Ä¡ º¯°æÀº WM_MOUSEMOVE ¸Þ½ÃÁö¿¡¼ ¸¶¿ì½ºÀÇ À§Ä¡°¡ ¹Ù²ð ¶§¸¶´Ù TTM_TRACKPOSITION ¸Þ½ÃÁö¸¦ º¸³» ¼öÇàÇϴµ¥ Ä¿¼ ¾Æ·¡ 25Çȼ¿ À§Ä¡¿¡ ÅøÆÁÀ» Ãâ·ÂÇÏ¿´´Ù. ´Ü, ºÒÇÊ¿äÇÑ À̵¿ 󸮸¦ ÇÏÁö ¾Ê±â À§ÇØ gTrackOn Àü¿ª º¯¼ö¸¦ ÂüÁ¶Çϰí ÀÖ´Ù.
TTF_ABSOLUTE Ç÷¡±×´Â TTF_TRACK Ç÷¡±×°¡ ÀÖÀ» ¶§¸¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ Ç÷¡±×¸¦ ÁÖ¸é TTM_TRACKPOSITION ¸Þ½ÃÁö·Î ÁöÁ¤ÇÑ À§Ä¡¿¡ Á¤È®ÇÏ°Ô Ãâ·ÂÇÑ´Ù. ÀÌ Ç÷¡±×¸¦ »ý·«Çϸé Á¤È®ÇÑ À§Ä¡¸¦ »ç¿ëÇÏÁö ¾Ê°í Åø ÁÖº¯¿¡ ÅøÆÁÀÌ À§Ä¡ÇÏ°Ô µÇ¸ç ÅøÆÁ¿¡ ÀÇÇØ ÅøÀÌ °¡·ÁÁöÁö ¾Êµµ·Ï ÇØ ÁØ´Ù. ÀÌ Ç÷¡±×¸¦ »©°í ½ÇÇàÇØ º¸¸é ±× Àǹ̸¦ ±Ý¹æ ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÅøÆÁÀÌ °áÄÚ À©µµ¿ì ¾ÈÀ¸·Î µé¾î¿ÀÁö ¾Ê´Â´Ù.
Æ®·¡Å· ÅøÆÁÀ» TTM_UPDATETIPTEXT ¸Þ½ÃÁö¿Í ÇÔ²² »ç¿ëÇϸé ÇϳªÀÇ ÅøÆÁÀ¸·Î Ãâ·Â ½ÃÁ¡, À§Ä¡, Åø ÅØ½ºÆ®±îÁö ÇÁ·Î±×·¥ÀÌ ¸¶À½´ë·Î ÇÁ·Î±×·¡¹ÖÇÒ ¼ö ÀÖ´Ù. ÅøÆÁÀ¸·Î º¸¿©ÁÙ Á¤º¸°¡ ¾ÆÁÖ ¸¹´Ù¸é, ¿¹¸¦ µé¾î 100°³°¡ ³Ñ´Â´Ù¸é ÀÌ ÅøµéÀ» ÀÏÀÏÀÌ µî·ÏÇϱâ´Â ¹«Ã´ ±ÍÂúÀº ÀÏÀÌ°í ´õ±¸³ª ½ºÅ©·Ñ½Ã¿¡ ÀÌ ÅøÀÇ ¿µ¿ªÀ» Àç°è»êÇÏ´Â °Íµµ ¸¸¸¸Ä¡ ¾ÊÀº ÀÛ¾÷ÀÌ´Ù. ÀÌ·± °æ¿ì´Â ÅøÆÁ ÄÁÆ®·Ñ¿¡°Ô ÅøÆÁ °ü¸®¸¦ ¸Ã±âÁö ¸»°í ÇÁ·Î±×·¥ÀÌ Åø¿¡ ´ëÇÑ Á¤º¸¸¦ ³»ºÎÀûÀ¸·Î ÀÚü °ü¸®ÇÏ¸é¼ ÅøÆÁÀ» Ãâ·ÂÇÏ¸é ¿ÀÈ÷·Á ´õ Æí¸®ÇÏ´Ù.
´ÙÀ½ ¿¹Á¦´Â Æ®·¡Å· ÅøÆÁÀÇ ±â´ÉÀ» ½ÊºÐ Ȱ¿ëÇÏ¿© ȸé»ó¿¡ Ãâ·ÂµÈ »ö»ó¿¡ ´ëÇÑ Á¤º¸¸¦ ÅøÆÁÀ¸·Î º¸¿©ÁØ´Ù.
#include <commctrl.h>
HWND hTip, hBtn;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
INITCOMMONCONTROLSEX iccex;
TOOLINFO ti;
COLORREF Col;
static COLORREF OldCol=0xffffffff;
HBRUSH Brush,OldBrush;
int i;
POINT pt;
switch(iMessage) {
case WM_CREATE:
iccex.dwICC=ICC_WIN95_CLASSES;
iccex.dwSize=sizeof(INITCOMMONCONTROLSEX);
InitCommonControlsEx(&iccex);
hTip=CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,NULL,0,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
hWnd,NULL,g_hInst,NULL);
ti.cbSize=sizeof(TOOLINFO);
ti.uFlags=TTF_TRACK | TTF_ABSOLUTE;
ti.hwnd=hWnd;
ti.uId=0;
ti.lpszText="dummy";
SetRect(&ti.rect,0,0,0,0);
SendMessage(hTip,TTM_ADDTOOL,0,(LPARAM)(LPTOOLINFO)&ti);
return 0;
case WM_MOUSEMOVE:
hdc=GetDC(hWnd);
Col=GetPixel(hdc,LOWORD(lParam),HIWORD(lParam));
if (Col != OldCol) {
OldCol=Col;
ti.cbSize=sizeof(TOOLINFO);
ti.uFlags=0;
ti.hwnd=hWnd;
ti.uId=0;
if (Col != RGB(255,255,255) && Col != RGB(0,0,0)) {
for (i=0;i<sizeof(Tools)/sizeof(Tools[0]);i++) {
if (Col == Tools[i].Col) {
ti.lpszText=Tools[i].szTip;
SendMessage(hTip,TTM_UPDATETIPTEXT,0,(LPARAM)&ti);
pt.x=Tools[i].rt.left+Tools[i].xoff;
pt.y=Tools[i].rt.top+Tools[i].yoff;
ClientToScreen(hWnd,&pt);
SendMessage(hTip,TTM_TRACKPOSITION,0,(LPARAM)MAKELPARAM(pt.x,pt.y));
SendMessage(hTip, TTM_TRACKACTIVATE,(WPARAM)TRUE,(LPARAM)&ti);
break;
}
}
} else {
SendMessage(hTip, TTM_TRACKACTIVATE,(WPARAM)FALSE,(LPARAM)&ti);
}
}
ReleaseDC(hWnd,hdc);
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
for (i=0;i<sizeof(Tools)/sizeof(Tools[0]);i++) {
Brush=CreateSolidBrush(Tools[i].Col);
OldBrush=(HBRUSH)SelectObject(hdc,Brush);
if (Tools[i].type == 0) {
Rectangle(hdc,Tools[i].rt.left,Tools[i].rt.top,
Tools[i].rt.right,Tools[i].rt.bottom);
} else {
Ellipse(hdc,Tools[i].rt.left,Tools[i].rt.top,
Tools[i].rt.right,Tools[i].rt.bottom);
}
SelectObject(hdc,OldBrush);
DeleteObject(Brush);
}
EndPaint(hWnd, &ps);
return 0;
case WM_ACTIVATEAPP:
if (wParam == FALSE) {
ti.cbSize=sizeof(TOOLINFO);
ti.uFlags=0;
ti.hwnd=hWnd;
ti.uId=0;
SendMessage(hTip, TTM_TRACKACTIVATE,(WPARAM)FALSE,(LPARAM)&ti);
}
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
ȸ鿡 ¿ø»ö µµÇüÀ» ¸î°³ ±×·Á ³õ¾ÒÀ¸¸ç µµÇü À§¿¡ Ä¿¼¸¦ °¡Á®°¡¸é ±× »ö»óÀ» Á¶»çÇØ¼ ÅøÆÁÀ¸·Î º¸¿©ÁØ´Ù.
Tools ¹è¿Àº ÅøÀÇ À¯Çü°ú À§Ä¡, Åø ÅØ½ºÆ®, ÅøÆÁÀÇ À§Ä¡ µî¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áö´Âµ¥ ÇÁ·Î±×·¥Àº ÀÌ Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î ¾ðÁ¦, ¾î´À À§Ä¡¿¡ ÅøÆÁÀ» Ãâ·ÂÇÒ °ÍÀΰ¡¸¦ °áÁ¤ÇÑ´Ù. ±¸Á¶Ã¼ ¹è¿À̹ǷΠµµÇüÀ» ´õ ´Ã¸®´Â °ÍÀº ¾ÆÁÖ ½¬¿ì¸ç ¹è¿ ¿ä¼Ò¸¸ ¿øÇϴ´ë·Î ´Ã·Á ÁÖ¸é µÈ´Ù. ¼³»ç µµÇüÀÌ ¼ö¹é°³°¡ µÇ´õ¶óµµ ÇÁ·Î±×·¥ÀÇ ³í¸®´Â µ¿ÀÏÇÏ´Ù.
WM_CREATE¿¡¼ ÅøÆÁÀ» µî·ÏÇϴµ¥ TTF_TRACK Ç÷¡±×¸¦ ÁÖ¾úÀ¸¹Ç·Î TTF_SUBCLASS Ç÷¡±×´Â ÁÖÁö ¾Ê¾Æµµ µÈ´Ù. lpszTextµµ ¾îÂ÷ÇÇ ½ÇÇàÁß¿¡ º¯°æÇÒ ¿¹Á¤À̹ǷΠº° Àǹ̰¡ ¾ø°í ÅøÀÇ Ãâ·Â ¿©ºÎµµ ÇÁ·Î±×·¥ÀÌ °áÁ¤ÇÏ¹Ç·Î ÅøÀÇ ¿µ¿ªÀ» ÁöÁ¤ÇÏ´Â rectµµ ¾Æ¹« Àǹ̰¡ ¾ø´Ù. ±×·¡¼ µî·ÏÇÒ ¶§ ´ëºÎºÐÀÇ ¸â¹öµéÀº ´õ¹Ì°ªÀ» ÁÖ¾ú´Ù.
ÅøÆÁÀÇ Ãâ·Â ½ÃÁ¡°ú À§Ä¡´Â ¸¶¿ì½º°¡ À̵¿ÇÒ ¶§ÀÎ WM_MOUSEMOVE¿¡¼ °áÁ¤ÇÑ´Ù. ÇöÀç Ä¿¼ À§Ä¡ÀÇ »ö»ó°ªÀ» Àоî ÀÏ´Ü, Èò»öÀ̳ª °ËÁ¤»öÀÌ ¾Æ´ÑÁö¸¦ º¸´Âµ¥ ÀÌ ¿¹Á¦ÀÇ °æ¿ì Èò»ö, °ËÁ¤»öÀº ÅøÆÁÀÌ Ãâ·ÂµÇÁö ¾Ê¾Æµµ µÇ´Â ¿µ¿ªÀÌ´Ù.
Èò»ö, °ËÁ¤»öÀÌ ¾Æ´Ï¸é Tools ¹è¿ÀÇ »ö»ó°ú ÀÏÄ¡ÇÏ´Â °ÍÀÌ ÀÖ´ÂÁö Á¶»çÇÏ¿© Tools ¹è¿ÀÇ À妽º¸¦ °áÁ¤Çϰí ÀÌ À妽º·ÎºÎÅÍ ÅøÆÁÀÇ À§Ä¡, ÅØ½ºÆ®¸¦ ¾÷µ¥ÀÌÆ®ÇÑ ÈÄ ÅøÆÁÀ» Ãâ·ÂÇÏ¿´´Ù. Èò»öÀ̳ª °ËÁ¤»öÀ̸é Ãâ·ÂµÇ¾î ÀÖ´Â ÅøÆÁÀ» ¼û±ä´Ù. ÀÌ Äڵ忡¼ OldCol º¯¼ö´Â ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï³ª °°Àº »ö»ó ³»¿¡¼ ¿òÁ÷ÀÏ ¶§ ºÒÇÊ¿äÇÑ Ã³¸®¸¦ ÇÏÁö ¾Êµµ·Ï Çϱâ À§ÇÑ ¿ëµµ·Î »ç¿ëÇϰí ÀÖ´Ù.
WM_PAINT¿¡¼´Â Tools ¹è¿ÀÇ Á¤º¸¿¡ µû¶ó µµÇüÀ» Ãâ·ÂÇÑ´Ù. ÀÌ ¿¹Á¦ÀÇ ÇÙ½ÉÀº ¹Ù·Î Tools ¹è¿Àε¥ ÀÌ ¹è¿Àº ÇÁ·Î±×·¥ÀÌ °ü¸®ÇÏ´Â Åø¿¡ ´ëÇÑ ¸ðµç Á¤º¸¸¦ °¡Áø´Ù. ¹è¿ ¿ä¼Ò´Â ÇϳªÀÇ ¿ÏÀüÇÑ °´Ã¼¸¦ Ç¥ÇöÇϸç Ãâ·Â Á¤º¸, ÅøÆÁ Ãâ·Â ½ÃÁ¡°ú À§Ä¡, ±âŸ ¿î¿µ¿¡ ÇÊ¿äÇÑ ¾î¶² Á¤º¸¶óµµ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ÀÌ ±¸Á¶Ã¼¸¦ ¾î¶»°Ô µðÀÚÀÎÇÏ°í »ç¿ëÇÒ °ÍÀΰ¡´Â ÀÀ¿ëÀÇ ¿µ¿ªÀ̹ǷΠÇÁ·Î±×·¥ÀÇ ¸ñÀû¿¡ µû¶ó À籸¼ºÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÁöµµÀÇ °¢ ÁöÁ¡¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áú ¼öµµ ÀÖ°í ¼³°èµµ¸éÀÇ ¹«¼öÇÑ ºÎǰ¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áú ¼öµµ ÀÖÀ¸¸ç ¶ÇÇÑ ½Ç½Ã°£À¸·Î Á¤º¸ÀÇ Ã·»è¹× ¼öÁ¤µµ °¡´ÉÇÏ´Ù.
ÀÌ ¿¹Á¦ÀÇ ¶Ç ´Ù¸¥ Áß¿äÇÑ Àǹ̴ »ç°¢ ¿µ¿ªÀÌ ¾Æ´Ñ Åø¿¡ ´ëÇØ¼µµ ÅøÆÁÀ» Á¦°øÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. ÅøÆÁ ÄÁÆ®·ÑÀº À©µµ¿ì ¶Ç´Â »ç°¢¿µ¿ª¿¡ ´ëÇØ¼¸¸ ÅøÆÁÀ» °ü¸®ÇÒ ¼ö ÀÖÁö¸¸ Æ®·¡Å· ÅøÆÁÀº ÇÁ·Î±×·¥ÀÇ ÆÇ´Ü¿¡ µû¶ó ÅøÆÁÀ» Ãâ·ÂÇÏ¹Ç·Î ÅøÆÁ ¿µ¿ª¿¡ ´ëÇÑ Á¦ÇÑÀÌ µû·Î ¾ø´Ù. ÀÌ ¿¹Á¦´Â »ö»óÀ¸·Î ÅøÆÁ ¿µ¿ªÀ» ÆÇº°ÇϹǷΠ¿øÀ̳ª ¼¼¸ð³ª ¾î¶² ¸ð¾çÀÌ¶óµµ ÅøÆÁ Ãâ·Â ¿µ¿ªÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ ¿¹Á¦ÀÇ ³ë¶õ»ö ¿øÀÌ ±× ¿¹ÀÌ´Ù. ¸¸¾à ´Ù°¢Çü¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù¸é ´Ù°¢Çü ¿µ¿ª¿¡ ÅøÆÁÀ» ´Þ ¼öµµ ÀÖ°í ¸®ÀüÀ» »ç¿ëÇÑ´Ù¸é ÀÌ·ÐÀûÀ¸·Î »ó»óÇÒ ¼ö ÀÖ´Â ¸ðµç ¸ð¾ç¿¡ ´ëÇØ ÅøÆÁÀ» ´Þ ¼ö ÀÖ´Ù.
Æ®·¡Å· ÅøÆÁÀº ÇÁ·Î±×·¥ÀÌ Ãâ·Â À§Ä¡¿Í ½ÃÁ¡À» ÅëÁ¦ÇÒ ¼ö ÀÖ´Â ´ë½Å ÅøÆÁÀ» ¼û±â´Â ÀÛ¾÷µµ ÇÁ·Î±×·¥ÀÌ Á÷Á¢ Ã¥ÀÓÀ» Á®¾ß ÇÑ´Ù. ÅøÆÁÀ» ¼û±â´Â Äڵ带 Á¦´ë·Î ÀÛ¼ºÇÏÁö ¾ÊÀ¸¸é ¿øÄ¡¾Ê´Â ½ÃÁ¡¿¡ ÅøÆÁÀÌ Ãâ·ÂµÇ¾î ÀÖÀ» ¼öµµ ÀÖ´Ù. À§ ¿¹Á¦µµ ÀÌ·± ¸ÍÁ¡À» °¡Áö°í Àִµ¥ ÆÄ¶õ»ö »ç°¢ÇüÀÇ ¿ÞÂÊ ³¡¿¡ Ä¿¼¸¦ À§Ä¡ÇÑ ÈÄ Àçºü¸£°Ô ¸¶¿ì½º¸¦ ¿ÞÂÊÀ¸·Î À̵¿ÇØ ¹ö¸®¸é ÅøÆÁÀÌ »ç¶óÁöÁö ¾Ê´Â´Ù. Èò»öÀ̳ª °ËÁ¤»ö ¿µ¿ªÀ» °ÅÄ¡Áö ¾Ê°í Ä¿¼°¡ À©µµ¿ì ¿µ¿ªÀ» ¹þ¾î³ª ¹ö·È±â ¶§¹®¿¡ ÅøÆÁÀ» ¼û±æ ±âȸ¸¦ °¡ÁöÁö ¸øÇÑ °ÍÀÌ´Ù.
ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ¹°·Ð ¾ÆÁÖ ¸¹Àº ¹æ¹ýµéÀÌ ÀÖ°ÚÁö¸¸ ÀÌ ¿¹Á¦´Â ÀÌ·± 󸮱îÁö´Â ÇÏÁö ¾Ê°í ÀÖ´Ù. Á» º¸±â ½È±â´Â ÇÏÁö¸¸ ÅøÆÁÀÌ ¶° ÀÖ´Ù°í ÇØ¼ º° ¹®Á¦´Â ¾ø±â ¶§¹®ÀÌ´Ù. ´Ù¸¸ ÇÁ·Î±×·¥ÀÌ Æ÷Ä¿½º¸¦ ÀÒÀ» ¶§´Â ÅøÆÁÀ» °Á¦·Î ¼û°Ü Áִ ó¸®´Â ÇØ ÁÖ°í Àִµ¥ WM_ACTIVATEAPP ¸Þ½ÃÁöÀÇ wParamÀ¸·Î FALSE°¡ Àü´ÞµÇ¾úÀ» ¶§, Áï ºñȰ¼ºÈµÉ ¶§ ÅøÆÁÀ» ¼û±âµµ·Ï ÇÏ¿´´Ù. ÀÌ Ã³¸®¸¦ »ý·«Çϸé ÇÁ·Î±×·¥ÀÌ ÃÖ¼ÒȵǾúÀ» ¶§µµ ÅøÆÁÀÌ È¦·Î Ãâ·ÂµÇ¾î ÀÖ´Â ±âÀÌÇÑ »çŰ¡ ¹ú¾îÁú ¼ö ÀÖ´Ù.