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