#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>