#Define ERROR_SUCCESS 0 >>#Define KEY_READ 131097 >>#Define KEY_ALL_ACCESS 983103 >>#Define HKEY_LOCAL_MACHINE 2147483650 && 0x80000002 >>Declare Integer RegCloseKey In advapi32 Integer hKey >>Declare Integer RegOpenKeyEx In advapi32; >> INTEGER hKey,; >> STRING lpSubKey,; >> INTEGER ulOptions,; >> INTEGER samDesired,; >> INTEGER @ phkResult >>Declare Integer RegEnumValue In advapi32; >> INTEGER hKey,; >> INTEGER dwIndex,; >> STRING @ lpValueName,; >> INTEGER @ lpcValueName,; >> INTEGER lpReserved,; >> INTEGER @ lpType,; >> STRING @ lpData,; >> INTEGER @ lpcbData >>hBaseKey = 0 >>lcBaseKey = "Software\Microsoft\Windows Messaging Subsystem" >>If RegOpenKeyEx (HKEY_LOCAL_MACHINE, lcBaseKey,; >> 0, KEY_ALL_ACCESS, @hBaseKey) <> ERROR_SUCCESS >> ? "Error opening registry key" >>Return >>Endif >>Create Cursor cs (valuename C(50), valuevalue C(200)) >>dwIndex = 0 >>Do While .T. >> lnValueLen = 250 >> lcValueName = Repli(Chr(0), lnValueLen) >> lnType = 0 >> lnDataLen = 250 >> lcData = Repli(Chr(0), lnDataLen) >> lnResult = RegEnumValue (hBaseKey, dwIndex,; >> @lcValueName, @lnValueLen, 0,; >> @lnType, @lcData, @lnDataLen) >> if lnResult <> ERROR_SUCCESS >> Exit >> Endif >> lcValueName = Left (lcValueName, lnValueLen) >> lcData = Left (lcData, lnDataLen-1) >> Insert Into cs Values (lcValueName, lcData) >> dwIndex = dwIndex + 1 >>Enddo >>=RegCloseKey (hBaseKey) >>Select cs >>Index On valuename Tag valuename >>Go Top >>Browse Normal Nowait>>