Here's an example of how to create a virtual registry entry:
// Create hKey_Classes to work well even under registry reflection HKEY hKey_Classes; RegOpenKey(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Classes"), &hKey_Classes); HKEY hVirtualKey; DWORD dwDisposition; LONG lResult = BoxedAppSDK_CreateVirtualRegKey( hKey_Classes, _T("Typelib\\{D27CDB6B-AE6D-11CF-96B8-444553540000}"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hVirtualKey, &dwDisposition ); HKEY hVirtualKey__10; lResult = BoxedAppSDK_CreateVirtualRegKey( hKey_Classes, _T("Typelib\\{D27CDB6B-AE6D-11CF-96B8-444553540000}\\1.0"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hVirtualKey__10, &dwDisposition ); TCHAR buf[1024] = _T("Shockwave Flash"); RegSetValueEx( hVirtualKey__10, _T(""), 0, REG_SZ, (CONST BYTE*)buf, (lstrlen(buf) + 1) * sizeof(TCHAR));