| Àμö |
wParam : ¾î¶² ¼³Á¤ÀÌ º¯°æµÇ¾ú´ÂÁö¸¦ ³ªÅ¸³½´Ù. SystemParametersInfo ÇÔ¼ö¿¡ ÀÇÇØ ÀÌ ¸Þ½ÃÁö°¡ ¹ß»ýµÇ¾ú´Ù¸é wParamÀº ÆÄ¶ó¹ÌÅÍ Ç÷¡±×°¡ µÈ´Ù. Á¤Ã¥ º¯°æ¿¡ ÀÇÇØ ÀÌ ¸Þ½ÃÁö°¡ ¹ß»ýµÈ °æ¿ì wParamÀº 1(ÄÄÇ»ÅÍ Á¤Ã¥ º¯°æ) ¶Ç´Â 0(»ç¿ëÀÚ Á¤Ã¥ º¯°æ) Áß Çϳª°¡ µÈ´Ù. ·ÎÄÉÀÏ ¼³Á¤ÀÌ º¯°æµÇ¾úÀ¸¸é wParamÀº 0À̸ç ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÀÌ ¸Þ½ÃÁö¸¦ Á÷Á¢ º¸³Â´Ù¸é NULLÀÌ µÈ´Ù. lParam : º¯°æµÈ ½Ã½ºÅÛ ÆÄ¶ó¹ÌÅÍÀÇ À̸§ ¹®ÀÚ¿ÀÌ´Ù. ·¹Áö½ºÆ®¸®ÀÇ Å° À̸§À̳ª Win.ini ÀÇ ¼½¼Ç À̸§ÀÌ Àü´ÞµÈ´Ù. ±×·¯³ª ·¹Áö½ºÆ®¸® ŰÀÏ °æ¿ì Àüü °æ·Î°¡ ¾Æ´Ï¶ó ´Ü¼øÈ÷ ŰÀÇ À̸§¸¸ Àü´ÞµÇ¸ç ¼³Á¤À» º¯°æÇÏ´Â ÇÁ·Î±×·¥ÀÌ ÀÌ Àμö¿¡ Á¤È®ÇÏ°Ô °ªÀ» ´ëÀÔÇØ ÁÖÁö ¾Ê±â ¶§¹®¿¡ ÀÌ Àμö·ÎºÎÅÍ ¾î¶² ¼³Á¤ÀÌ º¯°æµÇ¾ú´ÂÁö Á¤È®ÇÏ°Ô ¾Ë¾Æ³»±â´Â ¾î·Æ´Ù. µû¶ó¼ ÀÌ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÂüÁ¶Çϰí ÀÖ´Â ¸ðµç ¼³Á¤°ªÀ» ´Ù½Ã Á¶»çÇØ¾ß ÇÑ´Ù. Á¤Ã¥ÀÌ º¯°æµÈ °æ¿ì lParamÀ¸·Î Àü´ÞµÇ´Â ¹®ÀÚ¿Àº "Policy"°¡ µÇ¸ç ·ÎÄÉÀÏÀÌ º¯°æµÈ °æ¿ì lParamÀº "intl"ÀÌ µÈ´Ù. |
| ¼³¸í |
SystemParametersInfo ÇÔ¼ö¿¡ ÀÇÇØ ½Ã½ºÅÛ ÆÄ¶ó¹ÌÅͰ¡ º¯°æµÇ¾ú°Å³ª Á¤Ã¥ÀÌ º¯°æµÇ¾úÀ» ¶§ ¸ðµç ž ·¹º§ À©µµ¿ì°Ô ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. ½Ã½ºÅÛ ¼³Á¤ »óŸ¦ ÂüÁ¶ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥Àº ÀÌ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ Âü°íÇϰí ÀÖ´Â ¼³Á¤ »óŸ¦ ´Ù½Ã Àû¿ëÇØ¾ß ÇÑ´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Á÷Á¢ ½Ã½ºÅÛ ¼³Á¤À» º¯°æÇß´Ù¸é SendMessageTimeOut(HWND_BROADCAST,... ÇÔ¼ö·Î ¸ðµç ž ·¹º§ À©µµ¿ì¿¡°Ô º¯°æ »ç½ÇÀ» ¾Ë·Á ÁÖ¾î¾ß ÇÑ´Ù. |
| ¸®ÅÏ |
¸Þ½ÃÁö¸¦ ó¸®ÇßÀ¸¸é 0À» ¸®ÅÏÇÑ´Ù. |
| ¿¹Á¦ |
´ÙÀ½ ¿¹Á¦´Â ¿öÅ© ¿¡¸®¾î ¿µ¿ªÀ» Á¶»çÇÏ¿© º¸¿©ÁØ´Ù. ¿öÅ© ¿¡¸®¾î¶õ µ¥½ºÅ©Å¾ ¿µ¿ª¿¡¼ Ÿ½ºÅ© ¹Ù°¡ Â÷ÁöÇϰí ÀÖ´Â ¿µ¿ªÀ» Á¦¿ÜÇÑ ¿µ¿ªÀÌ´Ù.
RECT wrt;
void GetWorkArea()
{
SystemParametersInfo(SPI_GETWORKAREA,0,&wrt,0);
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
TCHAR Mes[256];
switch(iMessage) {
case WM_CREATE:
GetWorkArea();
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
wsprintf(Mes,"ÇöÀç ¿öÅ© ¿¡¸®¾î ÁÂÇ¥´Â %d,%d-%d,%dÀÔ´Ï´Ù",
wrt.left, wrt.top, wrt.right, wrt.bottom);
TextOut(hdc,10,10,Mes,lstrlen(Mes));
EndPaint(hWnd, &ps);
return 0;
case WM_SETTINGCHANGE:
GetWorkArea();
InvalidateRect(hWnd,NULL,TRUE);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
WM_CREATE¿¡¼ ¿öÅ© ¿¡¸®¾î ¿µ¿ªÀ» ¹Ì¸® Á¶»çÇØ ³õÀ¸¸é WM_PAINT¿¡¼ Á¶»çÇÑ ¿µ¿ª ÁÂÇ¥¸¦ ¹®ÀÚ¿·Î ¹Ù²Ù¾î Ãâ·ÂÇØ ÁØ´Ù. ¸¸¾à WM_SETINGCHANGE ¸Þ½ÃÁö¸¦ ó¸®ÇÏÁö ¾ÊÀ¸¸é Ÿ½ºÅ© ¹ÙÀÇ À§Ä¡¸¦ ¿Å±â°Å³ª ÇØ»óµµ¸¦ ¹Ù²Ù¾îµµ ÀÌ ÇÁ·Î±×·¥Àº ÃÖÃÊ Á¶»çÇÑ ¿öÅ© ¿¡¸®¾î ÁÂÇ¥¸¦ °è¼Ó »ç¿ëÇÏ°Ô µÇ¹Ç·Î ºÎÁ¤È®ÇÏ°Ô µ¿ÀÛÇÒ À§ÇèÀÌ ÀÖ´Ù. |
| Ç÷§Æû |
95ÀÌ»ó |
| ÂüÁ¶ |
|
|
written by http://www.winapi.co.kr
|