1.µµ¿ò¸»

°¡.µµ¿ò¸»

¼ÒÇÁÆ®¿þ¾î °³¹ß»çµéÀº ÇÁ·Î±×·¥ÀÇ ±¤°í¿Í ±â´É ¾È³»¸¦ À§ÇÑ È¨ ÆäÀÌÁö¸¦ ¿î¿µÇÑ´Ù. ¶ÇÇÑ È¨ÆäÀÌÁöÀÇ °Ô½ÃÆÇÀ» ÅëÇØ »ç¿ëÀÚÀÇ ¿ä±¸ »çÇ×À» ÆľÇÇÏ°í ¹ö±×¸¦ º¸°í ¹Þ°í »õ·Î¿î ±â´ÉÀ» Á¦¾È¹Þ±âµµ ÇÑ´Ù. ´ç±Ùµµ ´ç±Ù ȨÆäÀÌÁö°¡ ÀÖ´Ù. µµ¿ò¸» ¸Þ´º¿¡ ȨÆäÀÌÁö·Î ¿¬°áÇÏ´Â Ç׸ñÀ» µÎ°í »ç¿ëÀÚ°¡ Ȩ ÆäÀÌÁö¸¦ ½±°Ô ãÀ» ¼ö ÀÖµµ·Ï ÇÑ´Ù. ÄÚµå´Â ¾ÆÁÖ °£´ÜÇÏ´Ù.

 

void OnCommand(HWND hWnd,WPARAM wParam,LPARAM lParam)

{

     ....

     case IDM_HELP_HOME:

          ShellExecute(hWnd,"open","http://www.winapi.co.kr",NULL,NULL,SW_SHOW);

          break;

 

ShellExecute ÇÔ¼ö·Î Ȩ ÆäÀÌÁö URLÀ» ¿­±â¸¸ ÇÏ¸é ½Ã½ºÅÛ¿¡ µî·ÏµÈ µðÆúÆ® À¥ ºê¶ó¿ìÀú°¡ ÀÌ ÆäÀÌÁö¸¦ ¿­ °ÍÀÌ´Ù. ÀÌ È¨ ÆäÀÌÁö¸¦ ´ç±Ù À¯Áö º¸¼ö¸¦ À§ÇØ Áö¼ÓÀûÀ¸·Î È°¿ëÇÒ °èȹÀε¥ ÀÌ·² ¶§ °íÁ¤µÈ ÀÚ±â Ȩ ÆäÀÌÁö°¡ ÀÖ´Ù´Â °ÍÀº Âü Æí¸®ÇÏ´Ù.

ÇÁ·Î±×·¥Àº ¶Ç À¸·Ê µµ¿ò¸»À» Á¦°øÇØ¾ß ÇÑ´Ù. ½ÇÇà ÆÄÀÏ°ú ÇÔ²² ¹èÆ÷µÇ´Â °ÍÀÌ º¸ÅëÀÌÁö¸¸ ´ç±ÙÀº ȨÆäÀÌÁö¿¡ µµ¿ò¸»À» ÀÛ¼ºÇϱâ·Î ÇÑ´Ù. µµ¿ò¸»µµ Áö¼ÓÀûÀÎ °ü¸® ´ë»óÀ̶ó ÇÁ·Î±×·¥°ú ÇÔ²² ¼öÁ¤ÇØ¾ß Çϴµ¥ ¿ÀÇÁ¶óÀÎÀ¸·Î ¹èÆ÷µÈ µµ¿ò¸»Àº ¼öÁ¤ÇÒ ¼ö ¾ø´Ù´Â ¹®Á¦°¡ ÀÖ°í ¶ÇÇÑ ´Üµ¶ ½ÇÇà ÆÄÀÏÀ̹ǷΠµµ¿ò¸» ÆÄÀÏÀ» µû·Î Æ÷ÇÔÇϱⰡ ¾î·Æ±â ¶§¹®ÀÌ´Ù. IDM_HELP_INDEX ¸Þ´º Ç׸ñÀ» ¼±ÅÃÇÏ¸é µµ¿ò¸»ÀÌ ÀÖ´Â ÆäÀÌÁö·Î ¿¬°áÇÑ´Ù.

 

     case IDM_HELP_INDEX:

          MessageBox(hWnd,"µµ¿ò¸»Àº º£Å¸2 ÀÌÈĺÎÅÍ Á¦°øµË´Ï´Ù.","¾Ë¸²",MB_OK);

          break;

 

µµ¿ò¸» Á¦°øÀº Á¤½Ä ¸±¸®ÁîÇÒ ¶§±îÁö ¿¬±âÇÏ°í ÀÏ´Ü ¸Þ½ÃÁö ¹Ú½º¸¸ ¶ç¿î´Ù. ¿Â¶óÀÎÀ¸·Î Á¦°øµÇ´Â µµ¿ò¸»À» ÀÐÀ¸·Á¸é ÀÎÅͳݿ¡ ¿¬°áµÇ¾î ÀÖ¾î¾ß ÇÏ´Â ¹®Á¦°¡ ÀÖ´Ù. ±×·¯³ª ¿ì¸®³ª¶óÀÇ PCµéÀº ÀÎÅͳݿ¡ ¿¬°áµÇÁö ¾ÊÀº °æ¿ì¸¦ º¸±â°¡ ¾î·Á¿ï Á¤µµ·Î ÀÎÅͳÝÀÌ º¸ÆíÈ­µÇ¾î ÀÖÀ¸¹Ç·Î º° ¹®Á¦°¡ ¾Æ´Ï´Ù.

³ª.Á¤Ç°°úÀÇ Â÷º°

¼ÒÇÁÆ®¿þ¾î´Â ÆǸŠ°¡´ÉÇÑ »óÇ°ÀÌ´Ù. Á¦ÀÛ¿¡ »ó´çÇÑ ½Ã°£°ú ³ë·ÂÀÌ µé¾î °¬À¸¹Ç·Î °³¹ßºñ¸¦ ȸ¼öÇØ¾ß ÇÏ°í ¶Ç ¹Ì·¡ÀÇ Ãß°¡ °³¹ß ¹× À¯Áö º¸¼ö¸¦ À§Çؼ­´Â »ó´çÇÑ ºñ¿ëÀÌ µé¾î°¥ ¼ö¹Û¿¡ ¾ø´Ù. ¼öÇýÀÚ ºÎ´ãÀÇ ¿øÄ¢¿¡ ÀÇ°Å ÀÌ ºñ¿ëÀº ¼ÒÇÁÆ®¿þ¾î »ç¿ëÀÚ¿¡°Ô ¹Þ´Â °ÍÀÌ ´ç¿¬ÇÏ´Ù. ±×·¯³ª °³¹ßÀÚ´Â ¹Ýµå½Ã ÆǸŸ¸À» ¸ñÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µéÁö ¾Ê´Â´Ù. ÀÚ½ÅÀÌ ¾Ö½á ¸¸µç ¼ÒÇÁÆ®¿þ¾î¸¦ ´Ù¸¥ »ç¶÷µéÀÌ ¸¹ÀÌ ½áÁÖ°í À¯¿ëÇÏ°Ô È°¿ëÇÑ´Ù¸é ±×°ÍÀ¸·Î ¸¸Á·ÇÏ´Â °³¹ßÀÚµµ ¸¹´Ù.

±×·¯³ª ÀÌ·¸°Ô µÇ¸é °³¹ßÀÚ ÀÚ½ÅÀÇ »ýÈ°ÀÌ ¾î·Á¿öÁö°í Ãß°¡ °³¹ß¿¡ ºÎ´ãÀ» ´À³¥ ¼ö¹Û¿¡ ¾øÀ¸¸ç Àå±âÀûÀ¸·Î´Â ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ß ÀÚü°¡ ºÒ°¡´ÉÇØÁø´Ù. ¾Æ¹«¸® Àǵµ°¡ ÁÁ°í ¼ø¼öÇÑ ¿­Á¤ÀÌ ÀÖ´Ù ÇÏ´õ¶óµµ À̽½¸¸ ¸Ô°í´Â »ì ¼ö ¾ø´Â °ÍÀÌ´Ù. ±×·¡¼­ »óÇ°°ú ÇÁ¸®¿þ¾îÀÇ Áß°£ ÇüÅ·Π°³¹ßÇÏ´Â °æ¿ì°¡ ¸¹Àºµ¥ ÀÌ·± ¼ÒÇÁÆ®¿þ¾î¸¦ ¼Î¾î¿þ¾î¶ó°í ÇÑ´Ù. ±×³É ¾µ »ç¶÷Àº °øÂ¥·Î ¾²µÇ ¾÷¹«¿¡ ¿ä±äÇÏ°Ô »ç¿ëÇÏ´Â »ç¶÷µéÀº ±× »ç¿ëÀÇ ´ñ°¡·Î ¾ó¸¶°£ÀÇ ºñ¿ëÀ» Ä¡¸£´Â ÇüÅÂÀÌ´Ù.

¾Ë´Ù½ÃÇÇ ´ç±ÙÀº ÇмúÀûÀÎ ¸ñÀûÀ¸·Î °³¹ßÀ» ½ÃÀÛÇßÀ¸¸ç ¼Ò½º´Â ¹°·ÐÀÌ°í °³¹ß °úÁ¤±îÁöµµ °ø°³µÇ¾î ÀÖÀ¸¹Ç·Î °ÅÀÇ ¿Ïº®¿¡ °¡±î¿î ÇÁ¸®¿þ¾îÀÌ´Ù. ±×·¯³ª ¾ÕÀ¸·Î´Â ±×·¸Áö ¾ÊÀ» °ÍÀÌ´Ù. ÇÁ·ÎÁ§Æ®¸¦ ¿©±â¼­ Áß´ÜÇÏÁö´Â ¾ÊÀ» °ÍÀÌ°í °è¼Ó °³¹ßÇÒ ¿¹Á¤À̹ǷΠ¾î´À Á¤µµÀÇ °³¹ßºñ ȸ¼ö°¡ ÇÊ¿äÇÏ´Ù. ±×·¡¼­ ¾à°£ÀÇ Á¦ÇÑÀ» °É±â´Â Ç쵂 »ç¿ë¿¡ ºÒÆíÀ» ÀüÇô ´À³¢Áö ¾ÊÀ» Á¤µµÀÇ ¾àÇÑ Á¦ÇѸ¸ °É °ÍÀÌ´Ù. ÀÌ·± ÇüŸ¦ ¼Î¾î¿þ¾î¿Í ±¸ºÐÇϱâ À§ÇØ ±âÁõ¿þ¾î(Donation Ware)·Î ºÐ·ùÇϱ⵵ ÇÑ´Ù.

ÇÏÁö¸¸ ³Ê¹« ¾àÇÑ Á¦ÇÑÀº ¶Ç ¿ª½Ã ¹®Á¦°¡ Àִµ¥ »ç¿ë¿¡ ¾Æ¹«·± Á¦ÇÑÀÌ ¾ø±â ¶§¹®¿¡ °³¹ßÀÚÀÇ ³ë°í¸¦ Áø½ÉÀ¸·Î ÀÎÁ¤ÇÏ´Â ÀϺΠ¸Å´Ï¾Æµé¸¸ µî·ÏÀ» ÇÒ °ÍÀÌ°í °á±¹ ÇÁ¸®¿þ¾î¶û º°¹Ý Â÷ÀÌ°¡ ¾ø¾îÁö°í ¸¸´Ù. ¿©·¯ºÐµéÀÌ ¼ö³â¿¡ °ÉÃÄ ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÏ¿© ÆǸŸ¦ ÇÑ´Ù¸é ¾î¶² ÇüÅÂ·Îµç ºñ¿ëÀ» Ä¡¸¥ »ç¶÷°ú ±×·¸Áö ¾ÊÀº »ç¶÷Àº Â÷º°À» µÎ¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é µî·ÏÇÑ »ç¶÷¸¸ ¹Ùº¸°¡ µÇ°í ¸¸´Ù. Â÷º°À» µÎ´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ ÀÖ´Ù.

 

¨ç ŸÀÓ¶ô : °¡Àå °£´ÜÇÑ ÇüÅÂÀ̸ç ÀÏÁ¤ÇÑ ±â°£µ¿¾È¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Æò°¡ ±â°£ÀÌ ³¡³ª¸é ½ÇÇàÀ» °ÅºÎÇϰųª ±â´ÉÀÇ ÀϺθ¸ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Á¦ÇÑÇÑ´Ù. º¸Åë ÇÑ´Þ Á¤µµÀÇ Æò°¡±â°£À» ¼³Á¤Çϴµ¥ Á¦Ç°¿¡ µû¶ó Æò°¡ ±â°£Àº ´Þ¶óÁø´Ù.

¨è ȸ¼ö Á¦ÇÑ : ½ÇÇà ȸ¼ö¸¦ Á¦ÇÑÇÑ´Ù. ÃÖÃÊ ¼³Ä¡ ÈÄ ÀÏÁ¤ ȸ¼ö±îÁö¸¸ ½ÇÇàÀ» Çã¿ëÇÏ°í ȸ¼ö¸¦ ³ÑÀ¸¸é ½ÇÇàÀ» °ÅºÎÇÑ´Ù. Á¦Ç°ÀÇ ±â´ÉÀ» ÃæºÐÈ÷ »ìÆ캼 ¼ö ÀÖ´Â Á¤µµÀÇ ½ÇÇุ Çã°¡ÇÏ°í ÀÌÈĺÎÅÍ´Â Á¤Ç°À» ±¸ÀÔÇÒ °ÍÀ» ±ÇÀ¯ÇÏ´Â °ÍÀÌ´Ù.

¨é ±â´É Á¦ÇÑ : Á¤Ç°ÀÇ ¸ðµç ±â´ÉÀ» ´Ù »ç¿ëÇÒ ¼ö ¾øµµ·Ï ÇÑ´Ù. º¸Åë °í±Þ ±â´É Áß ¸î°¡Áö¸¦ Á¦ÇÑÇÔÀ¸·Î½á µî·ÏÀ» À¯µµÇÑ´Ù. ¾î¶² ±â´ÉÀ» ±ÝÁöÇÒ °ÍÀΰ¡¿¡ µû¶ó Á¦ÇÑÀÇ °­µµ°¡ ´Þ¶óÁö´Âµ¥ ¾ÆÁÖ ÇʼöÀûÀÎ ±â´ÉÀ» ±ÝÁöÇÏ¸é ±×¾ß¸»·Î ¸Àº¸±â¸¸ Á¦°øÇÏ´Â ¼ÀÀÌ µÈ´Ù. ¾î¶»°Ô º¸¸é Âü Ä¡»çÇÑ ¹æ¹ýÀÌ´Ù.

¨ê ±ÍÂú°Ô Çϱâ : ±â´É»óÀÇ Á¦ÇÑÀº ¾øÁö¸¸ ½ÇÇàÇÒ ¶§¸¶´Ù ¾î¶² µ¿ÀÛÀ» Çϵµ·Ï °­¿äÇÑ´Ù. º¸Åë ¸Þ½ÃÁö ¹Ú½º¸¦ ¿­¾î Àб⠽ÈÀº ¾È³»¹®À» °­Á¦·Î ÀÐ°Ô Çϸç È®ÀÎ ¹öÆ°À» ´­·¯¾ß¸¸ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾î¶² °ÍµéÀº »ç¿ëÁß¿¡ ºÒ¾¦ ºÒ¾¦ ³ªÅ¸³ª ±ÍÂú°Ô Çϱ⵵ ÇÑ´Ù.

¨ë ±¤°í »ðÀÔ : ¸ðµç ±â´ÉÀ» ´Ù ¾µ ¼ö ÀÖÁö¸¸ ±¤°í°¡ »ðÀԵǾî ÀÖ¾î ±¤°í¸¦ º¸´Â ´ë°¡¸¦ Ä¡·¯¾ß ÇÑ´Ù. »ç¿ëÀÚ´Â ±¤°í¸¸ º¸°í º°µµÀÇ ºñ¿ëÀ» Ä¡¸£Áö ¾ÊÀ¸¹Ç·Î ±¤°íÁÖ°¡ ½ÇÁúÀûÀÎ °³¹ßºñ¸¦ ºÎ´ãÇÏ´Â Çü½ÄÀÌ´Ù.

 

ÀÌ·± ¿©·¯ °¡Áö Á¦ÇÑÀ» º¹ÇÕÀûÀ¸·Î µ¿½Ã¿¡ °É ¼öµµ ÀÖ´Ù. ŸÀÓ¶ôµµ °É°í ±â´É¿¡ ¾à°£ÀÇ Á¦ÇÑÀ» µÎ¸é¼­µµ °¡²û ±ÍÂú°Ô Çϱ⵵ ÇÑ´Ù. ¾î¶² ¹æ¹ýÀ» ¾²µç Á¤Ç°°ú Â÷º°À» µÎ¾î »ç¿ëÀڵ鿡°Ô µî·ÏÀ» À¯µµÇÏ´Â °ÍÀÌ Á¦ÇÑÀÇ ¸ñÀûÀÌ´Ù. ´ç±ÙÀÇ Â÷º° Á¤Ã¥Àº °¡Àå °£´ÜÇÑ ÇüÅÂÀΠŸÀÓ¶ôÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. 1³âµ¿¾È Æò°¡ÇÒ ¼ö ÀÖÀ¸¸ç 1³âÀÌ Áö³ªµµ °è¼Ó ¾µ ¼ö´Â ÀÖÀ¸³ª ¸Þ½ÃÁö ¹Ú½º¸¦ ¶ç¿ö ¼º°¡½Ã°Ô Ç쵂 ±â´É»óÀÇ Á¦ÇÑÀº µÎÁö ¾Ê´Â´Ù. ½Ã°£ °è»êÀ» À§ÇØ Util.cpp¿¡ ´ÙÀ½ µÎ ÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.

 

DWORD MyGetAbsDay(SYSTEMTIME st)

{

     INT64 i64;

     FILETIME fst;

 

     st.wHour=st.wMinute=st.wSecond=st.wMilliseconds=st.wDayOfWeek=0;

     SystemTimeToFileTime(&st,&fst);

     i64=(((INT64)fst.dwHighDateTime) << 32) + fst.dwLowDateTime;

     i64 = i64 / 864000000000;

     return (DWORD)i64;

}

 

void MyAbsToSystem(DWORD Abs, SYSTEMTIME &st)

{

     INT64 i64;

     FILETIME fst;

 

     i64=Abs * 864000000000;

     fst.dwHighDateTime = (DWORD)(i64 >> 32);

     fst.dwLowDateTime = (DWORD)(i64 & 0xffffffff);

     FileTimeToSystemTime(&fst, &st);

}

 

³â¿ùÀÏ ½ÄÀ¸·Î µÇ¾î ÀÖ´Â ³¯Â¥´Â Àý´ë ³¯Â¥·Î º¯È¯ÇÏ´Â ÇÔ¼öµéÀÌ´Ù. ÀÌ ÇÔ¼öµéÀ» »ç¿ëÇÏ¸é ³¯Â¥¸¦ Á» ´õ Æí¸®ÇÏ°Ô ´Ù·ê ¼ö ÀÖ´Ù. ¼³Ä¡ ´ëÈ­»óÀÚÀÇ ¸Þ½ÃÁö¸¦ ¼öÁ¤ÇÏ°í ÃÖÃÊ ½ÇÇà½ÃÀÇ ³¯Â¥¸¦ ·¹Áö½ºÆ®¸®¿¡ ±â·ÏÇÑ´Ù.

 

BOOL CALLBACK SetupDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam)

{

     TCHAR szPath[MAX_PATH];

     TCHAR szLink[MAX_PATH];

    SYSTEMTIME st;

    DWORD Day;

 

     switch(iMessage) {

     case WM_INITDIALOG:

        SetDlgItemText(hDlg,IDC_IS_MESSAGE,"´ç±ÙÀº ÅؽºÆ®¸¦ º¸°í ÆíÁýÇÒ ¼ö"

           " ÀÖ´Â ÅؽºÆ® ÆíÁý ÇÁ·Î±×·¥ÀÔ´Ï´Ù.\r\n"

           "óÀ½ ½ÇÇàÇϼÌÀ¸¹Ç·Î ´ÙÀ½ Ãʱ⠼³Á¤À» ¼±ÅÃÇØ ÁֽʽÿÀ.ÀÌ ´ëÈ­»óÀÚ´Â ÃÖÃÊ "

           "½ÇÇà½Ã ÇÑ ¹ø¸¸ ³ªÅ¸³ª¸ç ÀÌÈĺÎÅÍ µµ±¸ ¸Þ´ºÀÇ ±âº»¼³Á¤ ¸í·ÉÀ¸·Î ¸ðµç ¿É¼ÇÀ»"

           " º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âº»À¸·Î ÁÖ¾îÁø ¿É¼ÇÀÌ °¡Àå ¹«³­ÇÕ´Ï´Ù.\r\n"

           "ÀÌ ÇÁ·Î±×·¥Àº ÃÖÃÊ ½ÇÇà ÈÄ 1³âµ¿¾È ±â´É Á¦¾à¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼Î¾î¿þ¾î "

           "ÀÔ´Ï´Ù.\r\n\r\n°¨»çÇÕ´Ï´Ù.");

        CheckDlgButton(hDlg,IDC_IS_POPUP,BST_CHECKED);

          CheckDlgButton(hDlg,IDC_IS_ASSODGP,BST_CHECKED);

          return TRUE;

     case WM_COMMAND:

          switch (LOWORD(wParam)) {

          case IDOK:

              ....

              GetModuleFileName(g_hInst,szPath,MAX_PATH);

              SHRegWriteString(SHCU,KEY"Setting","InstPath",szPath);

           Day=SHRegReadInt(SHCU,"Software\\Miyoungsoft","DgInstDay120",0);

           if (Day==0) {

               GetLocalTime(&st);

               Day=MyGetAbsDay(st);

               SHRegWriteInt(SHCU,"Software\\Miyoungsoft","DgInstDay120",Day);

           }

              EndDialog(hDlg, IDOK);

              return TRUE;

          ....

 

¸Þ½ÃÁö¿¡ ¼Î¾î¿þ¾îÀÓÀ» ¾Ë¸®´Â ¹®ÀåÀ» »ðÀÔÇßÀ¸¸ç Ž»ö±â Æ˾÷ ¸Þ´º¸¦ µðÆúÆ®·Î ¼±ÅÃÇÑ´Ù. ±×¸®°í ¿À´Ã ³¯Â¥¸¦ Á¶»çÇÏ¿© ·¹Áö½ºÆ®¸®¿¡ ±â·ÏÇÑ´Ù. À̶§ µÎ°¡Áö Æ®¸¯À» »ç¿ëÇß´Ù. ÀÌ¹Ì ¼³Ä¡ ³¯Â¥°¡ ±â·ÏµÇ¾î ÀÖÀ¸¸é °»½ÅÇÏÁö ¾Ê´Â´Ù. ¸¸¾à ¸Å¹ø °»½ÅÇÑ´Ù¸é ¼³Ä¡ ÇØÁ¦ ÈÄ ´Ù½Ã ¼³Ä¡Çϸé Á¦ÇÑÀÌ ¾ø¾îÁ® ¹ö¸°´Ù. ±×¸®°í ¼³Ä¡ ÇØÁ¦½Ã ÃÖÃÊ ½ÇÇà ³¯Â¥¸¦ »èÁ¦ÇÏÁö ¾Ê±â À§ÇØ ´Ù¸¥ ¿É¼Ç°ú´Â ´Þ¸® ȸ»ç¸í ¾Æ·¡¿¡ ¹Ù·Î ±â·ÏÇß´Ù.

¹°·Ð ·¹Áö½ºÆ®¸® ÆíÁý±â·Î Á÷Á¢ ÀÌ °ªÀ» ÆíÁýÇϰųª »èÁ¦ ÈÄ À缳ġÇÒ ¼ö ÀÖ´Ù. Á¦ÇÑÀÇ ¸ñÀûÀ» Á¦´ë·Î ´Þ¼ºÇÏ·Á¸é ·¹Áö½ºÆ®¸® À§Ä¡´Â ¹°·ÐÀÌ°í ±â·ÏµÇ´Â Æ÷¸Ëµµ Çؼ®Çϱ⠾î·Æ°Ô ÇÏ¿© ÈξÀ ´õ º¹ÀâÇÏ°Ô ¼û°Ü¾ß ÇÑ´Ù. ±×·¯³ª ´ç±ÙÀº ¼Ò½º°¡ °ø°³µÇ¾î Àֱ⠶§¹®¿¡ ´õ ÀÌ»óÀÇ Á¦ÇÑÀ» °É¾î ºÁ¾ß ºÎÁú¾ø´Ù. ¾îµð±îÁö³ª ÀÌ·± ½ÄÀ¸·Î Á¦ÇÑÀ» °É ¼ö ÀÖ´Ù´Â °ÍÀ» º¸¿©ÁÙ »ÓÀÌ´Ù.

´Ù.¼Î¾î¿þ¾î ¾Ë¸²

Æò±â ±â°£³»¿¡¼­´Â ¾Æ¹«·± ±â´É Á¦¾à¾øÀÌ ¸ðµç ±â´ÉÀ» ºÒÆí¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Æò°¡ ±â°£ÀÌ Áö³ª¸é ¼Î¾î¿þ¾îÀÓÀ» ¾Ë¸®´Â ¾È³»¹®À» º¸¿© ÁØ´Ù. ´ÙÀ½ ´ëÈ­»óÀÚ´Â Æò°¡ ±â°£ÀÌ ³¡³µÀ½À» ´Ü¼øÈ÷ ¾Ë¸®±â¸¸ ÇÑ´Ù.

 

BOOL CALLBACK ShareNoticeProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam)

{

     switch(iMessage) {

     case WM_INITDIALOG:

          MoveToParentCenter(hDlg);

          SetTimer(hDlg,1,3000,NULL);

          return TRUE;

     case WM_TIMER:

          EnableWindow(GetDlgItem(hDlg,IDOK),TRUE);

          EnableWindow(GetDlgItem(hDlg,IDCANCEL),TRUE);

          SetFocus(GetDlgItem(hDlg,IDOK));

          return TRUE;

     case WM_COMMAND:

          switch (LOWORD(wParam)) {

          case IDOK:

              EndDialog(hDlg,IDOK);

              return TRUE;

          case IDCANCEL:

              EndDialog(hDlg,IDCANCEL);

              return TRUE;

          }

          return FALSE;

     }

     return FALSE;

}

 

Áß¾Ó¿¡ ¾È³»¹®À» º¸¿© Áִµ¥ ÀÌ ¾È³»¹®ÀÇ ÁÖÁ¦´Â ÇѸ¶µð·Î "µ· ³»°í ½á"°¡ µÈ´Ù. ¹Ù·Î EnterÅ°¸¦ ´©¸£¸é ´ÝÇô ¹ö¸®Áö ¾Êµµ·Ï 3ÃÊ°£ °­Á¦·Î ´ëÈ­»óÀÚ¸¦ º¸µµ·Ï Çß´Ù. ÀÌ ´ëÈ­»óÀÚÀÇ ¸ñÀûÀº ¾î·°Å³ª Á¶±ÝÀÌ¶óµµ ±ÍÂú°Ô ÇÏÀÚ´Â °ÍÀÌ´Ù. ¾î¶² ÇÁ·Î±×·¥Àº ¾Æ¿¹ ÄûÁ ³»°í ¸ÂÃç¾ß Åë°úÇÏ´Â °Íµµ ÀÖ´Ù. WinMain¿¡¼­ Æò°¡ ±â°£À» Á¡°ËÇØ º¸°í Æò°¡ ±â°£ÀÌ ¸¸·áµÇ¾úÀ¸¸é ÀÌ ´ëÈ­»óÀÚ¸¦ Ãâ·ÂÇÑ´Ù.

 

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance

            ,LPSTR lpszCmdParam,int nCmdShow)

{

     ....

     hWnd=CreateWindow(lpszClass,"´ç±Ù",WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_CLIPCHILDREN,

          CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,

          NULL,(HMENU)NULL,hInstance,NULL);

 

     SYSTEMTIME st;

     DWORD Day,Today;;

     GetLocalTime(&st);

     Today=MyGetAbsDay(st);

     Day=SHRegReadInt(SHCU,"Software\\Miyoungsoft","DgInstDay120",0);

     MyAbsToSystem(Day,st);

     if (Today-Day >= 365 || Day > Today) {

          if (DialogBox(g_hInst,MAKEINTRESOURCE(IDD_SHARENOTICE),hWnd,

              ShareNoticeProc)==IDCANCEL) {

              DestroyWindow(hWnd);

          }

     }

 

     for (;;) {

          ....

 

ÃÖÃÊ ½ÇÇàÇÑ ³¯Â¥¿Í ¿À´ÃÀÇ Â÷ÀÌ°¡ 365°¡ ³ÑÀ¸¸é Áï, 1³âÀÌ Áö³µÀ¸¸é ¾È³»¹®À» Ãâ·ÂÇÑ´Ù. µÎ¹ø° Á¶°ÇÀº ÀÏÁ¾ÀÇ ºÎÁ¤ ÇàÀ§ ¹æÁö¸¦ À§ÇÑ °ÍÀε¥ ¸¸¾à ÃÖÃÊ ½ÇÇàÇÑ ³¯Â¥°¡ ¿À´Ãº¸´Ù ´õ ¹Ì·¡¶ó¸é ÀÌ°ÍÀº À߸øµÈ °ÍÀÌ´Ù. ÀÌ Ã³¸®¸¦ ÇÏÁö ¾ÊÀ¸¸é ÃÖÃÊ ½ÇÇàÇÒ ¶§ 2100³â 1¿ù 1ÀÏ·Î ÄÄÇ»ÅÍ ½Ã°£À» ¹Ù²ã ³õ°í ½ÇÇàÇϸé Á×À» ¶§±îÁö Æò°¡±â°£ÀÌ Á¾·áµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.

¸¸¾à Ãë¼Ò¸¦ ´©¸£¸é ¸ÞÀÎ À©µµ¿ì¸¦ Æı«ÇÏ¿© Á¾·áÇÑ´Ù. ÀÌ Á¡°ËÀ» ÇÏ´Â ½ÃÁ¡À» Àß ¼±ÅÃÇØ¾ß Çϴµ¥ ¸ÞÀÎ À©µµ¿ì°¡ ¸¸µé¾îÁö°í ³­ ÈÄ °ð¹Ù·Î ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ Ã³¸®´Â ¸ÞÀÎ À©µµ¿ì¸¦ »ý¼ºÇÏ°í º¸ÀÎ Á÷ÈÄ¿¡ ÇØ¾ß ÇÑ´Ù. ¸ÞÀÎ À©µµ¿ì°¡ µÚ¿¡ ÀÖ¾î¾ß ´©°¡ ÀÌ ´ëÈ­»óÀÚÀÇ ÁÖÀÎÀÎÁö¸¦ ¾Ë ¼ö ÀÖ´Ù. ActivateBrood ÇÔ¼öº¸´Ù´Â ´õ µÚÂÊ¿¡ ÀÖ¾î Ž»ö±â Æ˾÷ ¸Þ´º·Î ÆÄÀÏÀ» ¿­ ¶§´Â Æò°¡ ±â°£ÀÌ Áö³µ´õ¶óµµ ±ÍÂú°Ô ÇÏÁö ¾Ê´Â´Ù.

¶ó.ÇÁ·Î±×·¥ ¼Ò°³

ÇÁ·Î±×·¥ ¼Ò°³ ´ëÈ­»óÀÚ¿¡ ¼Î¾î¿þ¾îÀÓÀ» ¾Ë¸®´Â ¾È³»¹®À» ÀÛ¼ºÇÑ´Ù. µî·Ï ¹öÀüÀÏ °æ¿ì µî·Ï Á¤º¸¸¦ Ç¥½ÃÇÑ´Ù.

 

BOOL CALLBACK AboutProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam)

{

     SYSTEMTIME st;

     DWORD Day,Today;;

     TCHAR szDate[256];

 

     switch(iMessage) {

     case WM_INITDIALOG:

          if (FALSE) {

          } else {

              SetDlgItemText(hDlg,IDC_ABOUT_USER,"µî·ÏµÇÁö ¾Ê¾Ò½À´Ï´Ù");

              GetLocalTime(&st);

              Today=MyGetAbsDay(st);

              Day=SHRegReadInt(SHCU,"Software\\Miyoungsoft","DgInstDay120",0);

              MyAbsToSystem(Day,st);

              wsprintf(szDate,"ÃÖÃÊ ½ÇÇàÇÑ ³¯Â¥:%d³â %d¿ù %dÀÏ(³²Àº ³¯Â¥:%dÀÏ)",

                   st.wYear,st.wMonth,st.wDay,Day+365-Today);

              SetDlgItemText(hDlg,IDC_ABOUT_DATE,szDate);

          }

          return TRUE;

     case WM_COMMAND:

          switch (LOWORD(wParam)) {

          case IDOK:

              EndDialog(hDlg,IDOK);

              return TRUE;

          case IDCANCEL:

              EndDialog(hDlg,IDCANCEL);

              return TRUE;

          case IDC_ABOUT_REGISTER:

              MessageBox(hDlg,"1.2 ¹öÀüÀº µî·ÏÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.","¾Ë¸²",MB_OK);

              return TRUE;

          }

          return FALSE;

     }

     return FALSE;

}

 

µî·ÏÀÚ À̸§¿¡ µî·ÏµÇÁö ¾Ê¾ÒÀ½À» Ãâ·ÂÇÏ°í µî·Ï ³¯Â¥¿¡´Â ÃÖÃÊ ½ÇÇà ³¯Â¥¿Í ³²Àº »ç¿ëÀϼö¸¦ º¸¿© ÁÖ¾ú´Ù. ¹°·Ð µî·Ï ¹öÀüÀÏ °æ¿ì´Â µî·ÏÀÚ¿¡ ´ëÇÑ Á¤º¸¸¦ Ç¥½ÃÇØ¾ß Çϴµ¥ 1.2 ¹öÀüÀº ¼Î¾î¿þ¾î Èä³»¸¸ ³¾ »Ó ½ÇÁ¦·Î µî·ÏÀ» ¹ÞÁö´Â ¾ÊÀ¸¹Ç·Î Ç×»ó FALSEÀÌ´Ù. µî·Ï ¾È³» ¹öÆ°À» ´©¸£¸é µî·Ï ¹æ¹ýÀ» º¸¿© ÁØ´Ù. °¡°Ý°ú °áÁ¦ ¹æ¹ý, ±×¸®°í ¿¬¶ôÇÒ ¼ö ÀÖ´Â À̸ÞÀÏ ÁÖ¼Ò µîÀ» ¾Ë·Á ÁÖ¾î¾ß Çϴµ¥ 1.2´Â ½ÇÁ¦ µî·ÏÀ» ¹ÞÁö ¾ÊÀ¸¹Ç·Î ¸Þ½ÃÁö ¹Ú½º¸¸ ¿­¾ú´Ù.