#DEFINE HKEY_LOCAL_MACHINE -2147483646 #DEFINE ODBC_DRIVERS "SOFTWARE\ODBC\ODBCINST.INI" SET CLASSLIB TO (HOME(1) + "FFC\registry") ADDITIVE LOCAL loReg AS registry m.loReg = CREATEOBJECT("registry") LOCAL ARRAY laEntries(1) m.loReg.openkey(ODBC_DRIVERS,HKEY_LOCAL_MACHINE,.F.) m.loReg.enumkeys(@m.laEntries) m.loReg.closekey() LOCAL lcDriver AS String LOCAL lcValue AS String LOCAL lnDrivers AS Integer LOCAL ARRAY laDrivers(1,2) m.lnDrivers = 0 FOR EACH m.lcDriver IN m.laEntries m.loReg.openkey(ODBC_DRIVERS + "\" + m.lcDriver,HKEY_LOCAL_MACHINE,.F.) IF m.loReg.getkeyvalue("Driver",@m.lcValue) = 0 m.lnDrivers = m.lnDrivers + 1 DIMENSION m.laDrivers(m.lnDrivers,2) m.laDrivers(m.lnDrivers,1) = m.lcDriver IF m.loReg.getkeyvalue("DriverODBCVer", @m.lcValue) = 0 m.laDrivers(m.lnDrivers,2) = m.lcValue ELSE m.laDrivers(m.lnDrivers,2) = "" ENDIF ENDIF m.loReg.closekey() ENDFORFor displaying purposes...
FOR m.lnDrivers = 1 TO ALEN(m.laDrivers, 1) ? m.laDrivers(m.lnDrivers,1)," / Version: " + m.laDrivers(m.lnDrivers,2) ENDFOR