¿ø°ÝÁöÀÇ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇϰųª ¾÷·ÎµåÇÏ´Â °ÍÀº ±²ÀåÈ÷ ´À¸®´Ù. ³×Æ®¿öÅ© ¼Óµµ°¡ ¾Æ¹«¸® ºü¸£´Ù ÇÏ´õ¶óµµ ¹°¸®ÀûÀÎ ¿©·¯ °èÃþÀ» Åë°úÇØ¾ß ÇÏ¸ç ¿¡·¯ ¹ß»ý °¡´É¼ºµµ ³ô±â ¶§¹®¿¡ ·ÎÄà ÆÄÀϺ¸´Ù´Â ´À¸®°í ºÒÈ®½ÇÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ÀÌ·± ´À¸° µ¿ÀÛÀ» ÇÒ ¶§´Â »ç¿ëÀÚ¸¦ ¸¶³É ±â´Ù¸®°Ô ÇÒ ¼ö ¾øÀ¸¸ç Áö±Ý ¾îµðÂë Àü¼ÛÇÏ°í ÀÖ°í ³²Àº ½Ã°£Àº ¾ó¸¶ÀÎÁö º¸¿©ÁÖ¾î¾ß ÇÑ´Ù. ½Ã°£ÀÌ ¿À·¡ °É¸®´Â °ÍÀº »ç¿ëÀڵ鵵 ÀÌÇØÇϱ⠶§¹®¿¡ º° ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù.
¶ÇÇÑ Àü¼Û Áß°£¿¡ Ãë¼Ò°¡ °¡´ÉÇØ¾ß ÇÑ´Ù. ¿°íÀÚ ÇÏ´Â ÆÄÀÏÀÌ ¾Æ´Ñ ´Ù¸¥ ÆÄÀÏÀ» ½Ç¼ö·Î ¼±ÅÃÇÒ ¼öµµ ÀÖ°í ³Ê¹« ¼Óµµ°¡ ´À·Á ´õ ±â´Ù¸± ¼ö°¡ ¾øÀ» ¶§´Â ¾ðÁ¦µçÁö Àü¼ÛÀ» Ãë¼ÒÇÒ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù. ´ç±ÙÀº Àü¼Û °úÁ¤À» º¸¿©ÁÖ°í Ãë¼Ò ¸í·ÉÀ» ÀԷ¹ޱâ À§ÇØ ´Ù¿î·Îµå ´ëÈ»óÀÚ¸¦ »ç¿ëÇÏ¸ç ¸®¼Ò½º¿¡ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºµÇ¾î ÀÖ´Ù.
Àü¼Û °úÁ¤À» ¹éºÐÀ²·Î º¸¿©ÁÖ´Â ÇÁ·Î±×·¡½º ÄÁÆ®·Ñ°ú Ãë¼Ò ¸í·ÉÀ» ÀԷ¹ޱâ À§ÇÑ ¹öÆ°ÀÌ ÀÖ°í ±×¸²¿¡ º¸ÀÌÁö´Â ¾ÊÁö¸¸ À§ÂÊ¿¡ µÎ °³ÀÇ ½ºÅÂƽ ÄÁÆ®·ÑÀÌ ¹èÄ¡µÇ¾î ÀÖ´Ù. À§ÂÊ ½ºÅÂƽ¿¡´Â Àü¼ÛÁßÀÎ ÆÄÀÏÀÇ À̸§À» º¸¿©ÁÖ°í ¾Æ·¡ÂÊ ½ºÅÂƽ¿¡´Â Àü¼ÛµÈ ¹ÙÀÌÆ® ¼ö¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù. ´ÙÀ½ Àü¿ªº¯¼ö´Â Àü¼Û °è¼Ó ¿©ºÎ¸¦ ÅëÁ¦ÇÑ´Ù.
BOOL bContDown;
FindInFiles ÇÔ¼ö¿¡¼ »ç¿ëÇß´ø bContFIF º¯¼ö¿Í °ÅÀÇ Àǹ̰¡ °°´Ù. ³×Æ®¿öÅ© Àü¼Û ÇÔ¼öµéÀº ÀÌ º¯¼ö°¡ TRUEÀÎ µ¿¾È °è¼Ó ´Ù¿î·Îµå¹ÞÀ¸¸ç ÀÌ º¯¼ö°¡ FALSE°¡ µÇ¸é Àü¼ÛÀ» ÁßÁöÇÏ°í Áï½Ã ¸®ÅÏÇÑ´Ù. ´Ù¿î·Îµå ´ëÈ»óÀÚ´Â »ç¿ëÀÚ°¡ Ãë¼Ò ¹öÆ°À» Ŭ¸¯ÇßÀ» ¶§ ÀÌ º¯¼ö¸¦ FALSE·Î ¹Ù²Ù¾î Àü¼Û Ãë¼Ò¸¦ ¸í·ÉÇÏ°Ô µÈ´Ù. ´ëÈ»óÀÚ ÇÁ·Î½ÃÀú´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù.
BOOL CALLBACK DGDownProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
TCHAR Mes[128];
switch(iMessage)
{
case WM_INITDIALOG:
MoveToParentCenter(hDlg);
SendDlgItemMessage(hDlg, IDC_PRODOWN, PBM_SETRANGE, 0, MAKELPARAM(0,100));
SendDlgItemMessage(hDlg, IDC_PRODOWN, PBM_SETPOS, 0, 0);
return TRUE;
case WM_USER+1:
if (lParam==-1) {
wsprintf(Mes,"%d ¹ÙÀÌÆ® ´Ù¿î·Îµå Áß(Àüü Å©±â´Â ¾Ë¼ö ¾øÀ½)",wParam);
} else {
wsprintf(Mes,"%d ¹ÙÀÌÆ® Áß %d ¹ÙÀÌÆ® Àü¼Û Áß(%d%%)",
lParam,wParam,wParam*100/lParam);
SendDlgItemMessage(hDlg, IDC_PRODOWN, PBM_SETPOS, wParam*100/lParam, 0);
}
SetDlgItemText(hDlg,IDC_STDOWN2,Mes);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDCANCEL:
if (MessageBox(hDlg,"Àü¼ÛÀ» Ãë¼ÒÇϽðڽÀ´Ï±î? ¾÷·ÎµåÁß¿¡ Ãë¼ÒÇϽøé ÆÄÀÏÀÇ "
"ÀϺθ¸ ¼öÁ¤µÇ¹Ç·Î À§ÇèÇÕ´Ï´Ù.","Áú¹®",MB_YESNO)==IDYES) {
bContDown=FALSE;
EndDialog(hDlg,IDCANCEL);
}
return TRUE;
}
return FALSE;
}
return FALSE;
}
WM_INITDIALOG¿¡¼ ÇÁ·Î±×·¡½º ÄÁÆ®·ÑÀÇ ¹üÀ§¸¦ 0~100À¸·Î ¼³Á¤ÇßÀ¸¸ç IDCANCEL ¹öÆ°À» Ŭ¸¯Çϸé bContDownÀ» FALSE·Î º¯°æÇÑ´Ù. DgHttpDown ÇÔ¼ö¿¡¼ ÀÌ ´ëÈ»óÀÚ¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö Äڵ带 º¸ÀÚ. ¸ÕÀú bContDownÀ» TRUE·Î ¼³Á¤ÇÏ¿© ´Ù¿î·Îµå ·çÇÁ°¡ °è¼Ó ÁøÇàÇϵµ·Ï ÃʱâÈÇÏ¸ç ´Ù¿î·Îµå ´ëÈ»óÀÚ¸¦ ¸ðµ¨¸®½º·Î »ý¼ºÇÑ´Ù. ÀÌ ´ëÈ»óÀÚ°¡ ¿·Á ÀÖ´Â µ¿¾È ´Ù¸¥ ÀÛ¾÷À» ÇÒ ¼ö´Â ¾øÀ¸¹Ç·Î ¸ÞÀÎ À©µµ¿ì´Â »ç¿ë ±ÝÁöµÈ´Ù.
À§ÂÊ ½ºÅÂƽ ÄÁÆ®·Ñ¿¡ ¡®Á¢¼ÓÁß...¡¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í Á¢¼ÓµÈ ÈÄ¿¡´Â ´Ù¿î·Îµå¹ÞÀ» ÆÄÀÏÀÇ °æ·Î¸¦ Ãâ·ÂÇÏ¿´´Ù. ´Ù¿î·Îµå ·çÇÁ¿¡¼´Â bContDownÀ» °è¼Ó Á¡°ËÇÏ¿© ÀÌ °ªÀÌ TRUEÀÎ µ¿¾È¸¸ ´Ù¿î·Îµå¸¦ °è¼ÓÇϸç ÀÌ °ªÀÌ FALSE°¡ µÇ´Â Áï½Ã ·çÇÁ¸¦ Å»ÃâÇÑ´Ù. ´Ù¿î·Îµå°¡ ÁøÇàµÉ ¶§¸¶´Ù ´ëÈ»óÀÚ·Î WM_USER+1 ¸Þ½ÃÁö¸¦ Àü´ÞÇϴµ¥ À̶§ lParam¿¡´Â ÃÑ ¹ÙÀÌÆ® ¼ö, wParam¿¡´Â Àü¼ÛµÈ ¹ÙÀÌÆ® ¼ö°¡ Àü´ÞµÈ´Ù. ´Ù¿î·Îµå ´ëÈ»óÀÚ´Â WM_USER+1 ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ¾Æ·¡ÂÊ ½ºÅÂƽ¿¡ Àü¼ÛµÈ ¹ÙÀÌÆ® ¼ö¸¦ º¸¿©ÁÖ°í ÇÁ·Î±×·¡½º ¹ÙÀÇ À§Ä¡¸¦ °»½ÅÇÑ´Ù.
´Ü, HTTP ÇÁ·ÎÅäÄÝÀº ¿ø°ÝÁöÀÇ ÆÄÀÏ Å©±â¸¦ ¹Ì¸® ¾Ë ¼ö ¾ø±â ¶§¹®¿¡ ÀÌ °æ¿ì lParamÀ¸·Î´Â -1ÀÌ Àü´ÞµÇ¸ç À̶§´Â ´Ü¼øÈ÷ ¹ÞÀº ¹ÙÀÌÆ® ¼ö¸¸ Ãâ·ÂÇϵµ·Ï Çß´Ù. ÀÌ ·çÇÁ°¡ ½ÇÇàÁßÀÎ µ¿¾È¿¡ »ç¿ëÀÚ°¡ Ãë¼Ò ¹öÆ°À» Ŭ¸¯ÇÒ ¼ö ÀÖ¾î¾ß ÇϹǷΠ¸Þ½ÃÁö ÆßÇÎÀ» ÇØ¾ß ÇÑ´Ù. ´Ù¿î·Îµå°¡ ¿Ï·áµÇ¸é ¸ÞÀÎ À©µµ¿ì¸¦ È°¼ºÈ½ÃÅ°°í ´Ù¿î·Îµå ´ëÈ»óÀÚ´Â Æı«ÇÑ´Ù. ÀÌÈÄ FTP ´Ù¿î·Îµå, FTP ¾÷·Îµå ÇÔ¼ö¿¡ ´ëÇؼµµ ÀÌ ´ëÈ»óÀÚ´Â µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î »ç¿ëµÈ´Ù.