ส่วนก่อนหน้านี้ การใช้ไส้พารามิเตอร์ (Preprocessor ของนายทะเบียนการ), สนทนาแทนแผนที่ และแนะนำวิธีการของนายทะเบียนAddReplacementและClearReplacementsสอง นายทะเบียนมีแปดวิธีอื่น ๆ โดยเฉพาะการเขียนสคริปต์ ทั้งหมดแปดของวิธีการเหล่านี้มีคำอธิบายในตารางต่อไปนี้ และเรียกใช้สคริปต์เฉพาะผู้ลงทะเบียน?
| วิธีการ | ไวยากรณ์/คำอธิบาย |
| ResourceRegister | Hresult ใน ResourceRegister (LPCOLESTR resFileName, UINT nID, LPCOLESTR szType ); สคริปต์มีอยู่ในทรัพยากรของโมดูลการลงทะเบียน resFileNameบ่งชี้ว่า เส้นทาง UNC ไปยังโมดูตัวเอง nIDและszTypeมีชนิด และ ID ของทรัพยากรตามลำดับ? |
| ResourceUnregister | Hresult ใน ResourceUnregister (LPCOLESTR resFileName, UINT nID, LPCOLESTR szType ); Unregisters สคริปต์ในทรัพยากรของโมดูล resFileNameบ่งชี้ว่า เส้นทาง UNC ไปยังโมดูตัวเอง nIDและszTypeมีชนิด และ ID ของทรัพยากรตามลำดับ? |
| ResourceRegisterSz | Hresult ใน ResourceRegisterSz (LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType ); สคริปต์มีอยู่ในทรัพยากรของโมดูลการลงทะเบียน resFileNameบ่งชี้ว่า เส้นทาง UNC ไปยังโมดูตัวเอง szIDและszTypeมีตัวระบุสายอักขระของทรัพยากรและชนิด ตามลำดับ? |
| ResourceUnregisterSz | Hresult ใน ResourceUnregisterSz (LPCOLESTR resFileName, LPCOLESTR szID, LPCOLESTR szType ); Unregisters สคริปต์ในทรัพยากรของโมดูล resFileNameบ่งชี้ว่า เส้นทาง UNC ไปยังโมดูตัวเอง szIDและszTypeมีตัวระบุสายอักขระของทรัพยากรและชนิด ตามลำดับ? |
| FileRegister | Hresult ใน FileRegister (LPCOLESTR fileName ); สคริปต์การลงทะเบียนในแฟ้ม ชื่อแฟ้มเป็นเส้นทาง UNC เป็นแฟ้มที่ประกอบด้วย (หรือไม่) สคริปต์ทรัพยากร? |
| FileUnregister | Hresult ใน FileUnregister (LPCOLESTR fileName ); Unregisters สคริปต์ในแฟ้ม ชื่อแฟ้มเป็นเส้นทาง UNC เป็นแฟ้มที่ประกอบด้วย (หรือไม่) สคริปต์ทรัพยากร? |
| StringRegister | Hresult ใน StringRegister (LPCOLESTR ข้อมูล ); สคริปต์การลงทะเบียนในสต ข้อมูลประกอบด้วยสคริปต์ตัวเอง? |
| StringUnregister | Hresult ใน StringUnregister (LPCOLESTR ข้อมูล ); Unregisters สคริปต์ในสายอักขระ ข้อมูลประกอบด้วยสคริปต์ตัวเอง? |
ATL ใช้สองวิธีแรกแสดงในตาราง (ResourceRegisterและResourceUnregister) ใน atlimpl.cpp:
LPCOLESTR szType = OLESTR("REGISTRY")
GetModuleFileName (pM-gt; m_hInstResource, szModule, _MAX_PATH);
LPOLESTR pszModule = T2OLE(szModule)
ถ้า (HIWORD(lpszRes)==0)
{
ถ้า (bRegister)
hRes = p - > ResourceRegister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
อื่น
hRes = p - > ResourceUnregister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
}
อื่น
{
ถ้า (bRegister)
hRes = p - > ResourceRegisterSz (pszModule, lpszRes, szType);
อื่น
hRes = p - > ResourceUnregisterSz (pszModule, lpszRes, szType);
}
หมายเหตุที่ szModule ประกอบด้วยค่ารับมาจากGetModuleFileName?
วิธีสองที่แสดงในตารางResourceRegisterSzและResourceUnregisterSzคล้ายกับResourceRegisterและResourceUnregisterแต่อนุญาตให้คุณระบุตัวระบุสายอักขระ?
วิธีการFileRegisterและFileUnregisterมีประโยชน์ ถ้าคุณไม่ต้องการให้สคริปต์ในทรัพยากร หรือ ถ้าคุณต้องการให้สคริปต์ในแฟ้มของตัวเอง วิธีการStringRegisterและStringUnregisterอนุญาตให้แฟ้ม.rgs ถูกเก็บไว้ในสายอักขระปันส่วนแบบไดนามิก?