ÀÌÁø ¸®¼Ò½º ÆÄÀÏ ÀÇ ¸®¼Ò½º ÄÄÆÄÀÏ·¯ »ý¼º ÇÏ´Â ¸®¼Ò½º Á¤ÀÇ ÆÄÀÏÀÇ ³»¿ëÀ» ±â¹ÝÀ¸·Î Çü½Ä¿¡ ¼³¸í ÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î´Â.ÀÔ¼ú È®Àå ÇÕ´Ï´Ù. ¸µÄ¿ ¼½ÄÀ» ´Ù½Ã ÁöÁ¤ ÇÕ´Ï´Ù.¸®¼Ò½º °³Ã¼ ÆÄÀÏ¿¡ RES ÆÄÀÏ ÇÏ °í Win32 ±â¹Ý ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ½ÇÇà ÆÄÀÏ¿¡ ¿¬°á.
ÀÌÁø ¸®¼Ò½º ÆÄÀÏÀ» ´Ù¾ç ÇÑ ¿¬°á µÈ ¸®¼Ò½º Ç׸ñÀ¸·Î ±¸¼º µË´Ï´Ù. °¢ Ç׸ñ ±¸¼º ¸®¼Ò½º Çì´õÀÇ ¹× ÇØ´ç ¸®¼Ò½º¿¡ ´ë ÇÑ µ¥ÀÌÅÍ. ¸®¼Ò½º Çì´õ´Â DWORD-ÆÄÀÏ¿¡ Á¤·Ä ÇÏ °í ´ÙÀ½ ±¸¼º:
RESOURCEHEADER ±¸Á¶¿¡´ÂÀÌ Çì´õÀÇ Çü½ÄÀ» ¼³¸íÇÕ´Ï´Ù. ¸®¼Ò½º¿¡ ´ë ÇÑ µ¥ÀÌÅÍ ¸®¼Ò½º Çì´õ¸¦ ´ÙÀ½°ú °°ÀÌ ÇÏ °í °¢ À¯ÇüÀÇ ¸®¼Ò½º¿¡ ƯÁ¤. ÀϺΠÀÚ¿ø ¶ÇÇÑ ÀÚ¿ø ±×·ì¿¡ ´ë ÇÑ Á¤º¸¸¦ Á¦°ø Çϱâ À§ÇØ ¸®¼Ò½º ƯÁ¤ ±×·ì ¸Ó¸®±Û ±¸Á¶¸¦ äÅÃ.
¾×¼¿·¯·¹ÀÌÅÍ Å° Å×ÀÌºí ¸®¼Ò½º ÆÄÀÏ¿¡ ÀÖ´Â ÇϳªÀÇ ¸®¼Ò½º Ç׸ñÀÔ´Ï´Ù. ±×°ÍÀº ±×·ì Çì´õ¸¦ ÀÖÁö ¾Ê½À´Ï´Ù. ACCELTABLEENTRY ±¸Á¶ ¾×¼¿·¯·¹ÀÌÅÍ Å° Å×ÀÌºí¿¡ ÀÖ´Â °¢ Ç׸ñ¿¡ ¼³¸í ÇÕ´Ï´Ù. ¿©·¯ ¾×¼¿·¯·¹ÀÌÅÍ Å×À̺íÀº Çã¿ë.
´ëÈ »óÀÚ ¸®¼Ò½º ÆÄÀÏ¿¡ ÀÖ´Â ÇϳªÀÇ ¸®¼Ò½º Ç׸ñ À̱⵵ÇÕ´Ï´Ù. ±×°ÍÀº ÇϳªÀÇ DLGTEMPLATEÀÌ·ç¾îÁ® ´ëÈ »óÀÚ Çì´õ ±¸Á¶ Ç÷¯½º Çϳª DLGITEMTEMPLATE ´ëÈ »óÀÚ¿¡¼ °¢ ÄÁÆ®·Ñ¿¡ ´ë ÇÑ ±¸Á¶. DLGTEMPLATEEX ¹× DLGITEMTEMPLATEEX ±¸Á¶ ¼³¸í È®Àå µÈ ´ëÈ »óÀÚ ¸®¼Ò½º Çü½Ä.
±Û²Ã ¸®¼Ò½ºÀÇ ±×·ìÀ¸·Î ¸®¼Ò½º ÆÄÀÏ¿¡ ÀúÀå µË´Ï´Ù. °³º° ±Û²Ã ±Û²Ã ±×·ìÀ» È®ÀÎÇÕ´Ï´Ù. A ¿¡¼ ±Û²Ã¹® À» ¸®¼Ò½º Á¤ÀÇ ¹®À» ÇÕ´Ï´Ù.RC ÆÄÀÏ °¢ ±Û²ÃÀ» Á¤ÀÇ ÇÕ´Ï´Ù. °¢ °³º° ±Û²Ã ¸®¼Ò½º¿¡ °ü·Ã µÈÀÇ Àüü ³»¿ëÀÌ ±¸¼º µË´Ï´Ù.FNT ÆÄÀÏÀÔ´Ï´Ù. FONTGROUPHDR ±¸Á¶¿¡ ÀÖ´Â ¸ðµç °³º° ±Û²Ã ±¸¼º ¿ä¼Ò¸¦ ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.RES ÆÄÀÏ.
±Û²Ã ¸®¼Ò½º ƯÁ¤ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸®¼Ò½º¿¡ Ãß°¡ µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å, ÀϹÝÀûÀ¸·Î ½ÇÇà ÆÄÀÏ¿¡ Ãß°¡ µÇ´Â.FON È®Àå¸íÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î ¸®¼Ò½º Àü¿ë µ¿Àû ¿¬°á ¶óÀ̺귯¸® (Dll) ÀÀ¿ë ÇÁ·Î±×·¥ º¸´Ù´Â.
´ÜÀÏ ÆÄÀÏ·Î °¢ ¾ÆÀÌÄÜ ¹× Ä¿¼ ó¸® ÇÏ´Â ½Ã½ºÅÛ. ±×·¯³ª, ÀÌ·¯ÇÑ¿¡ ÀúÀå µË´Ï´Ù.RES ÆÄÀÏ ¹× ½ÇÇà ÆÄÀÏ ¾ÆÀÌÄÜ ¸®¼Ò½º ±×·ì ¶Ç´Â Ä¿¼ ¸®¼Ò½ºÀÇ ±×·ìÀ¸·Î. ¾ÆÀÌÄܰú Ä¿¼ ¸®¼Ò½º ÆÄÀÏ Çü½Ä ºñ½ÁÇÕ´Ï´Ù. ¾È¿¡.RES ÆÄÀÏ ¸®¼Ò½º ±×·ì ¸Ó¸®±ÛÀÇ ¸ðµç °³º° ¾ÆÀÌÄÜ ¶Ç´Â Ä¿¼ ±×·ì ±¸¼º ¿ä¼Ò´Â ´ÙÀ½°ú °°½À´Ï´Ù.
°¢ ¾ÆÀÌÄÜ ±¸¼º ¿ä¼Ò Çü½Ä¿¡ ´ë ÇÑ À¯»çÀÇ Æ÷¸Ë ÇÕ´Ï´Ù.ICO ÆÄÀÏÀÔ´Ï´Ù. °¢ ¾ÆÀÌÄÜ À̹ÌÁö¿¡ ÀúÀå ÇÑ BITMAPINFO ±¸Á¶ µÚ »ö ÀåÄ¡ µ¶¸³Àû ºñÆ®¸Ê (DIB) ¾ÆÀÌÄÜÀÇ XOR ¸¶½ºÅ© ºñÆ®. ´Ü»ö DIB ºñÆ® ¾ÆÀÌÄÜÀÇÀÇ ¹× ¸¶½ºÅ© »ö DIB ºñÆ®¿¡ µû¶ó.
°¢ Ä¿¼ ±¸¼º ¿ä¼Ò Çü½ÄÀ» À¯»çÇÑ Çü½ÄÀÇ ÇÕ´Ï´Ù.CUR ÆÄÀÏÀÔ´Ï´Ù. °¢ Ä¿¼ À̹ÌÁö µÚ¿¡ Ä¿¼ÀÇ XOR ¸¶½ºÅ©ÀÇ Èæ¹é ÀåÄ¡ µ¶¸³ ºñÆ®¸Ê (DIB) ºñÆ®¿¡ ÀÇÇØ ±×¸®°í Ä¿¼¸¦ ´Ü»ö DIB ºñÆ®¿¡ ÀÇÇØ BITMAPINFO ±¸Á¶¿¡ ÀúÀå µÇ °í ¸¶½ºÅ©. µÎ ¸®¼Ò½º ºñÆ®¸ÊÀÇ Â÷ÀÌ: ¾ÆÀÌÄÜ, ´Þ¸® Ä¿¼ XOR ¸¶½ºÅ© Ä÷¯ DIB ºñÆ® µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. ºñ·Ï Ä¿¼ ¸¶½ºÅ© ºñÆ®¸Ê Èæ¹é DIB Çì´õ ¶Ç´Â »ö»óÇ¥ ÇÏÁö ¾ÊÀº, ºñÆ® DIB Çü½ÄÀ» ¸ÂÃã°ú ¹æÇâÀ» ±âÁØÀ¸·Î ¿©ÀüÈ÷ ÀÖ½À´Ï´Ù. Ä¿¼ ¹× ¾ÆÀÌÄÜ¿¡ ¶Ç ´Ù¸¥ Áß¿ä ÇÑ Â÷ÀÌÁ¡Àº Ä¿¼ ÇÖ½ºÆý ÀÖ°í ¾ÆÀÌÄÜ ¾È.
¾ÆÀÌÄÜ ¹× Ä¿¼´Â ¸ðµÎ ¸®¼Ò½º¿¡ ´ë ÇÑ ±×·ì ¸Ó¸®±Û ±¸¼º NEWHEADER Çϳª ÀÌ»óÀÇ RESDIR ±¸Á¶ Ç÷¯½º ±¸Á¶. °¢ ¾ÆÀÌÄÜ ¶Ç´Â Ä¿¼¿¡ ´ë ÇÑ RESDIR ±¸Á¶°¡ÀÔ´Ï´Ù. ±×·ì ¸Ó¸®±Û¿¡´Â Win32 ±â¹Ý ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¿Ã¹Ù¸¥ ¾ÆÀÌÄÜ ¶Ç´Â Ä¿¼ Ç¥½Ã¸¦ ¼±Åà ÇÏ´Â µ¥ ÇÊ¿äÇÑ Á¤º¸°¡ Æ÷ÇÔ µÇ¾î ÀÖ½À´Ï´Ù. ±×·ì ¸Ó¸®±Û ¹× °¢ ¾ÆÀÌÄÜÀÌ ³ª Ä¿¼ÀÇ ±×·ì¿¡ ´ë ÇÑ ¹Ýº¹ µÇ´Â µ¥ÀÌÅÍ °íÁ¤µÈ ±æÀÌ ÀÖ´Ù. ÀÌ ÀÓÀÇ·Î Á¤º¸¿¡ ¾×¼¼½º ÇÏ·Á¸é ÀÀ¿ë ÇÁ·Î±×·¥ Çã¿ë.
¸Þ´º ¸®¼Ò½º ±¸¼º MENUHEADER ±¸Á¶ µÚ¿¡ Çϳª ÀÌ»óÀÇ NORMALMENUITEM ¶Ç´Â POPUPMENUITEM ±¸Á¶ ¸Þ´º ¼½Ä ÆÄÀÏ¿¡ ÀÖ´Â °¢ ¸Þ´º Ç׸ñ¿¡ ´ë ÇÑ. MENUEX_TEMPLATE_HEADER ¹× MENUEX_TEMPLATE_ITEM ±¸Á¶ È®ÀåµÈ ¸Þ´º ¸®¼Ò½º Çü½ÄÀ» ¼³¸í.
¸Þ½ÃÁö Å×ÀÌºí ¿À·ù ¸Þ½ÃÁö ¶Ç´Â ¸Þ½ÃÁö »óÀÚ¿¡ Ç¥½Ã Çϱâ À§ÇØ ¼½ÄÀÌ ÁöÁ¤ µÈ ÅØ½ºÆ®¸¦ Æ÷ÇÔ ÇÏ´Â ¸®¼Ò½ºÀÔ´Ï´Ù. ¸Þ½ÃÁö Ç¥ ¸®¼Ò½º¿¡¼ ÁÖ¿ä ±¸Á¶´Â MESSAGE_RESOURCE_DATA ±¸Á¶.
¹öÀü ¸®¼Ò½ºÀÇ ±âº» ±¸Á¶´Â VS_FIXEDFILEINFO ±¸Á¶. Ãß°¡ ±¸Á¶ Æ÷ÇÔ ÇÕ´Ï´Ù VarFileInfo ±¸Á¶ ¾ð¾î Á¤º¸ µ¥ÀÌÅ͸¦ ÀúÀå ÇÏ °í StringFileInfo »ç¿ëÀÚ Á¤ÀÇ ¹®ÀÚ¿ Á¤º¸¿¡ ´ë ÇÑ. ¹öÀü ¸®¼Ò½º¿¡¼ ¸ðµç ¹®ÀÚ¿Àº À¯´ÏÄÚµå Çü½Ä Win32 ±â¹Ý ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ë ÇÑÀÔ´Ï´Ù. DWORD °æ°è¿¡ Á¤·Ä µÇ´Â Á¤º¸ÀÇ °¢ ºí·Ï.
¸®¼Ò½ºÀÇ Çü½ÄÀ» ¼³¸í ÇÏ´Â ±¸Á¶ÀÇ ±×·ì ¸ñ·Ï¿¡ ´ë ÇÑ ´ÙÀ½ À¥ »çÀÌÆ®¸¦ ÂüÁ¶ ÇϽʽÿÀ. ¸®¼Ò½º ±¸Á¶.