Article ID: 191638
Article Last Modified on 3/1/2005
cOptPath = "CLSID"
public aControls
DIMENSION aControls[1,2]
STORE "" TO aControls
DIMENSION aCLSIDs[1]
oReg = NewObject("Registry",HOME()+"FFC\REGISTRY")
IF oReg.EnumOptions(@aCLSIDs,cOptPath,"",.T.) # 0
RETURN .F.
ENDIF
FOR i = 1 TO ALEN(aCLSIDs)
IF m.i%10 = 0
WAIT WINDOW NOWAIT "Processed "+STR(m.i)+" of "+STR(ALEN(aCLSIDs))
ENDIF
DIME aKeys[1]
DIME aProgID[1,2]
DIME aControlName[1,2]
STORE "" TO aProgID,aControlName
IF oReg.EnumOptions(@aKeys,cOptPath+"\"+aCLSIDs[m.i],"",.T.) = 0
nPos = ASCAN(aKeys,"Control")
IF m.nPos = 0
LOOP
ENDIF
IF !EMPTY(aControls[1,2])
DIMENSION aControls[ALEN(aControls,1)+1,2]
ENDIF
oReg.EnumOptions(@aControlName,cOptPath+"\"+aCLSIDs[m.i])
oReg.EnumOptions(@aProgID,cOptPath+"\"+aCLSIDs[m.i]+"\ProgID")
aControls[ALEN(aControls,1),1] = aControlName[2]
aControls[ALEN(aControls,1),2] = aProgID[2]
ENDIF
ENDFOR
WAIT CLEAR
DISPLAY MEMORY LIKE aControls
* To view all the controls, open the debugger and enter aControls in the
* Watch window.
oReg = NewObject("FileReg",HOME()+"FFC\REGISTRY")
STORE "" TO cExtKey,cAppKey
IF oReg.GetAppPath("XLS",@cExtKey,@cAppKey) = 0
? cExtKey && ex. Excel.Sheet.8
? cAppKey && ex. "C:\Office\excel.exe" /e
ENDIF
oReg = NewObject("FoxReg",HOME()+"FFC\REGISTRY")
cOptionValue = ""
cOptionName = "BuilderLock"
IF oReg.GetFoxOption(m.cOptionName,@cOptionValue)=0
? cOptionValue
ENDIF
oReg = NewObject("ODBCReg",HOME()+"FFC\REGISTRY")
DIMENSION aODBCDrivers[1]
DIMENSION aODBCData[1]
nErrNum = oReg.GetODBCDrvrs(@aODBCDrivers)
DISPLAY MEMO LIKE aODBCDrivers
nErrNum = oReg.GetODBCDrvrs(@aODBCData,.T.)
DISPLAY MEMO LIKE aODBCData
LOCAL rcValue
x=NEWOBJECT("oldinireg",HOME()+"FFC\REGISTRY")
x.GetIniEntry(@rcValue,"windows","device","c:\windows\win.ini")
IF !empty(rcValue)
?rcValue
ELSE
?"Value not found"
ENDIF
The following example writes a value to the Run entry in the Windows
section of the Win.ini file:
local rcValue
rcValue = "test.exe"
x=NEWOBJECT("oldinireg",HOME()+"FFC\REGISTRY")
x.WriteIniEntry(rcValue,"windows","run","d:\windows\win.ini")
x.GetIniEntry(@rcValue,"windows","run","d:\windows\win.ini")
?rcValue
Regfile.scx Regfox.scx RegODBC.scx
Keywords: kbhowto kbffc KB191638