ÀÌ ¹®¼ÀÇ ½ºÅ©¸³Æ® ¿¹Á¦; ½Ã½ºÅÛ ·¹Áö½ºÆ®¸®¿¡ ۸¦ Ãß°¡ ÇÏ´Â ¹æ¹ý µî·ÏÀÚ COM ¼¹ö; µî·Ï ¿©·¯ ±¸¹® ºÐ¼® Æ®¸® ÁöÁ¤¡£
´ÙÀ½ ±¸¹® ºÐ¼® Æ®¸®´Â ½Ã½ºÅÛ ·¹Áö½ºÆ®¸®¿¡ ÇϳªÀÇ Å°¸¦ Ãß°¡ ÇÏ´Â °£´ÜÇÑ ½ºÅ©¸³Æ®¸¦ º¸¿© ÁÝ´Ï´Ù. ½ºÅ©¸³Æ®´Â ۸¦ Ãß°¡ Çϴ ƯÈ÷, MyVeryOwnKey , HKEY_CURRENT_USER . ±×°ÍÀº ¶ÇÇÑÀÇ ±âº» ¹®ÀÚ¿ °ªÀ» ÇÒ´ç HowGoesIt? »õ Ű:
HKEY_CURRENT_USER
{
nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
}(&N)
ÀÌ ½ºÅ©¸³Æ® ¿©·¯ ÇÏÀ§ ۸¦ ´ÙÀ½°ú °°Àº Á¤ÀǸ¦ ½±°Ô È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.:
HKCU
{
nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
? {
???? ' HasASubkey'
???? {
??????? 'PrettyCool?' d '55' =
??????? ¹ß 'ANameValue' = 'WithANamedValue' s
???? }
? }
}(&N)
½ºÅ©¸³Æ®´Â ÇÏÀ§ ۸¦ Ãß°¡ ÇÏ´Â Áö±Ý, HasASubkey , MyVeryOwnKey . ÀÌ ÇÏÀ§ Ű¿¡ ¸ðµÎ Ãß°¡ PrettyCool? (55ÀÇ ±âº» DWORD °ª)¿Í ÇÔ²² ÇÏÀ§ ۸¦ ANameValue ¶ó´Â °ªÀÇ ¹®ÀÚ¿ °ª (¿Í ÇÔ²²WithANamedValue)¡£
´ÙÀ½ ½ºÅ©¸³Æ® ÀÚü µî·ÏÀÚ COM ¼¹ö µî·Ï¡£
HKCR
{
nbsp; ATL.µî·Ï = s ' ATL 2.0 µî·Ï Ŭ·¡½º
? {
???? CLSID = s '{44EC053A-400F-11D0-9DCD-00A0C90391D3}'
? }
? NoRemove CLSID
? {
???? ForceRemove {44EC053A-400F-11D0-9DCD-00A0C90391D3} =
????????????????? s ' ATL 2.0 µî·Ï Ŭ·¡½º
???? {
??????? ProgID = s ' ATL.µî·Ï '
??????? InprocServer32 = s '¸ðµâ %'
??????? {
?????????? ¹ß ThreadingModel = s '¾ÆÆÄÆ®'
??????? }
???? }
? }
}(&N)
ÀÌ ±¸¹® ºÐ¼® Æ®¸®¸¦ ·±Å¸ÀÓ¿¡ Ãß°¡ ÇÕ´Ï´Ù ATL.Registrar ۸¦ HKEY_CLASSES_ROOT . ÀÌ »õ Ű¿¡ ´ÙÀ½ it:
ATL Registrar 2.0 Class ŰÀÇ ±âº» ¹®ÀÚ¿ °ªÀ¸·Î¡£CLSID ÇÏÀ§ Ű·Î¡£{44EC053A-400F-11D0-9DCD-00A0C90391D3} ¿¡ ´ë ÇÑ CLSID . (ÀÌ °ªÀº µî·ÏÀÇ CoCreateInstance¿Í ÇÔ²² »ç¿ë Çϱâ À§ÇØ CLSID.)
ÀÌÈÄ CLSID Àº °øÀ¯ ÇÏÁö Á¦°Å ÇØ¾ß µî·Ï Ãë¼Ò ¸ðµå¿¡¼. ¼º¸í, NoRemove CLSID , ³ªÅ¸³»´Â ÀÌ·¸°Ô CLSID ·¹Áö½ºÅÍ ¸ðµå·Î ¿ ¹× µî·Ï Ãë¼Ò ¸ðµå¿¡¼ ¹«½Ã ÇÑ´Ù¡£
ForceRemove¹®À» Ű¿Í ¸ðµç ÇÏÀ§ ۸¦ ´Ù½Ã ¸¸µé±â Àü¿¡ Á¦°Å ÇÏ ¿© û¼Ò ±â´ÉÀ» Á¦°ø ÇÕ´Ï´Ù. ÀÌ ÇÏÀ§ ŰÀÇ À̸§À» º¯°æ ÇÏ´Â °æ¿ì¿¡ À¯¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ½ºÅ©¸³Æ® ¿¹Á¦¿¡¼ ForceRemove ÀÖ´ÂÁö È®ÀÎ {44EC053A-400F-11D0-9DCD-00A0C90391D3} ÀÌ¹Ì Á¸Àç ÇÕ´Ï´Ù. ¸¸¾à ¾ÊÀ¸¸é,ForceRemove:
{44EC053A-400F-11D0-9DCD-00A0C90391D3} ¹× ¸ðµç ÇÏÀ§¡£{44EC053A-400F-11D0-9DCD-00A0C90391D3}¡£ATL Registrar 2.0 Class ¿¡ ´ë ÇÑ ±âº» ¹®ÀÚ¿ °ªÀ¸·Î{44EC053A-400F-11D0-9DCD-00A0C90391D3}¡£
±¸¹® ºÐ¼® Æ®¸®´Â ÀÌÁ¦ µÎ °¡Áö »õ·Î¿î ÇÏÀ§ ۸¦ Ãß°¡ {44EC053A-400F-11D0-9DCD-00A0C90391D3} . ù ¹øÂ° Ű ProgID , Progid´Â ±âº» ¹®ÀÚ¿ °ªÀ» °¡Á®¿É´Ï´Ù. µÎ ¹øÂ° Ű InprocServer32 , ±âº» ¹®ÀÚ¿ °ªÀ» °¡Á®¿É´Ï´Ù %MODULE% , Áï.ÀÌ ¹®¼ÀÇ ¼½¼Ç ´ëü »ç¿ë °¡´ÉÇÑ ¸Å°³ º¯¼ö (µî·ÏÀÚÀÇ Àü󸮱â)¿¡¼ ¼³¸í ÇÏ´Â Àü󸮱⠰ª InprocServer32 ¶ÇÇÑ ¸í¸í µÈ °ªÀ» °¡Á®¿É´Ï´Ù ThreadingModel ÀÇ ¹®ÀÚ¿ °ªApartment¡£
½ºÅ©¸³Æ®¿¡¼ Çϳª ÀÌ»óÀÇ ±¸¹® ºÐ¼® Æ®¸®¸¦ ÁöÁ¤ ÇÏ·Á¸é ´Ü¼øÈ÷ ´Ù¸¥ ³¡¿¡ ÇϳªÀÇ Æ®¸®¸¦ ¹èÄ¡ ÇÕ´Ï´Ù. ´ÙÀ½ ½ºÅ©¸³Æ®´Â ۸¦ Ãß°¡ ÇÏ´Â ¿¹¸¦ µé¾î, MyVeryOwnKey , ¸ðµÎ¿¡ ´ë ÇÑ ±¸¹® ºÐ¼® Æ®¸®¸¦ HKEY_CLASSES_ROOT ¹×HKEY_CURRENT_USER:
HKCR
{
nbsp; 'MyVeryOwnKey' = s 'HowGoesIt?'
}
HKEY_CURRENT_USER
{
? 'MyVeryOwnKey' = s 'HowGoesIt?'
}(&N)
¸Þ¸ðnbsp;??µî·ÏÀÚ ½ºÅ©¸³Æ®¿¡¼ 4 K ÃÖ´ë ÅäÅ« Å©±âÀÔ´Ï´Ù. (ÅäÅ« ±¸¹®¿¡¼ ÀνÄÇÒ ¼ö ÀÖ´Â ¿ä¼ÒÀÔ´Ï´Ù.) ÀÌÀü ½ºÅ©¸³ÆÃ ¿¹Á¦¿¡¼ HKCR , HKEY_CURRENT_USER , 'MyVeryOwnKey' , ¹× 'HowGoesIt?' Àº ¸ðµç ÅäÅ«(&N)¡£