´Ù. ´Ù¿î·Îµå ´ëÈ­»óÀÚ

¿ø°ÝÁöÀÇ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇϰųª ¾÷·ÎµåÇÏ´Â °ÍÀº ±²ÀåÈ÷ ´À¸®´Ù. ³×Æ®¿öÅ© ¼Óµµ°¡ ¾Æ¹«¸® ºü¸£´Ù ÇÏ´õ¶óµµ ¹°¸®ÀûÀÎ ¿©·¯ °èÃþÀ» Åë°úÇØ¾ß ÇÏ¸ç ¿¡·¯ ¹ß»ý °¡´É¼ºµµ ³ô±â ¶§¹®¿¡ ·ÎÄà ÆÄÀϺ¸´Ù´Â ´À¸®°í ºÒÈ®½ÇÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ÀÌ·± ´À¸° µ¿ÀÛÀ» ÇÒ ¶§´Â »ç¿ëÀÚ¸¦ ¸¶³É ±â´Ù¸®°Ô ÇÒ ¼ö ¾øÀ¸¸ç Áö±Ý ¾îµðÂë Àü¼ÛÇÏ°í ÀÖ°í ³²Àº ½Ã°£Àº ¾ó¸¶ÀÎÁö º¸¿©ÁÖ¾î¾ß ÇÑ´Ù. ½Ã°£ÀÌ ¿À·¡ °É¸®´Â °ÍÀº »ç¿ëÀڵ鵵 ÀÌÇØÇϱ⠶§¹®¿¡ º° ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù.

¶ÇÇÑ Àü¼Û Áß°£¿¡ Ãë¼Ò°¡ °¡´ÉÇØ¾ß ÇÑ´Ù. ¿­°íÀÚ ÇÏ´Â ÆÄÀÏÀÌ ¾Æ´Ñ ´Ù¸¥ ÆÄÀÏÀ» ½Ç¼ö·Î ¼±ÅÃÇÒ ¼öµµ ÀÖ°í ³Ê¹« ¼Óµµ°¡ ´À·Á ´õ ±â´Ù¸± ¼ö°¡ ¾øÀ» ¶§´Â ¾ðÁ¦µçÁö Àü¼ÛÀ» Ãë¼ÒÇÒ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù. ´ç±ÙÀº Àü¼Û °úÁ¤À» º¸¿©ÁÖ°í Ãë¼Ò ¸í·ÉÀ» ÀԷ¹ޱâ À§ÇØ ´Ù¿î·Îµå ´ëÈ­»óÀÚ¸¦ »ç¿ëÇÏ¸ç ¸®¼Ò½º¿¡ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºµÇ¾î ÀÖ´Ù.

Àü¼Û °úÁ¤À» ¹éºÐÀ²·Î º¸¿©ÁÖ´Â ÇÁ·Î±×·¡½º ÄÁÆ®·Ñ°ú Ãë¼Ò ¸í·ÉÀ» ÀԷ¹ޱâ À§ÇÑ ¹öÆ°ÀÌ ÀÖ°í ±×¸²¿¡ º¸ÀÌÁö´Â ¾ÊÁö¸¸ À§ÂÊ¿¡ µÎ °³ÀÇ ½ºÅÂƽ ÄÁÆ®·ÑÀÌ ¹èÄ¡µÇ¾î ÀÖ´Ù. À§ÂÊ ½ºÅÂƽ¿¡´Â Àü¼ÛÁßÀÎ ÆÄÀÏÀÇ À̸§À» º¸¿©ÁÖ°í ¾Æ·¡ÂÊ ½ºÅÂƽ¿¡´Â Àü¼ÛµÈ ¹ÙÀÌÆ® ¼ö¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù. ´ÙÀ½ Àü¿ªº¯¼ö´Â Àü¼Û °è¼Ó ¿©ºÎ¸¦ ÅëÁ¦ÇÑ´Ù.

 

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 ¾÷·Îµå ÇÔ¼ö¿¡ ´ëÇؼ­µµ ÀÌ ´ëÈ­»óÀÚ´Â µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î »ç¿ëµÈ´Ù.