Microsoft
Software
Hardware
Network
Question : Foxpro Can't Seem to Find Word 2007 under Windows 7
Guys, I have a snippit of code that I have used for years to detect if a application exists under Windows, but it does not see to work with Windows 7. Am I missing something.
If is look for a return from Checksserver('Word.applica
tion'), under Windows Vista and back on my machine it returns .T., but under Windows 7, .F.:
FUNCTION Checkserver
LPARAMETER cServerName
LOCAL oRegistry, cClassID, cEXEName, lEXEExists, ;
aClassIDValues, aClassIDValues, aServerNameValues
IF VERSION() = "Visual FoxPro 06" .OR. .T.
oRegistry = NEWOBJECT("Registry", "Registry.vcx")
ELSE
SET PROCEDURE TO HOME() + "samples\classes\registry.
prg" ADDITIVE
oRegistry = CREATEOBJECT("Registry")
ENDIF
lEXEExists = .F.
DECLARE aClassIDValues[1], aServerNameValues[1]
WITH oRegistry
* Find the CLSID of the server. First, look for
* the Class's Key.
IF .OpenKey(cServerName + "\CLSID") = 0
* The Class's Key is open, now enumerate its values
.EnumKeyValues(@aClassIDVa
lues)
* The data portion of the first (only) value returned
* is the CLSID. Find the LocalServer32 key for the CLSID
IF .OpenKey("CLSID\" + aClassIDValues[1,2] + "\LocalServer32") = 0
* Enumerate the LocalServer32 values
.EnumKeyValues(@aServerNam
eValues)
* The EXE file is stored in the first (only) data value returned.
cEXEName = aServerNameValues[2]
* The value that's returned may have " -Automation" or " /Automation" or
* " /AUTOMATION" & other trailing stuff at the end. Strip it off.
IF "AUTO" $ UPPER(cEXEName)
cEXEName = LEFT(cEXEName, ATC("AUTO", UPPER(cEXEName)) - 2)
ENDIF
* Verify that the file exists
lEXEExists = FILE(cEXEName)
ENDIF
ENDIF
ENDWITH
RETURN lEXEExists
ENDFUNC
Answer : Foxpro Can't Seem to Find Word 2007 under Windows 7
You can try something like
llWordExists=.T.
TRY
loWord=CREATEOBJECT('Word.
Applicatio
n')
loWord.quit
CATCH
llWordExists=.F.
ENDTRY
RETURN llWordExists
Random Solutions
Imput Mask for Date ?
outlook express contacts to blackberry 8530
How to Grant Local Admin Rights to Domain Users via Group Policy
Windows 7 registy
Access 2007 can't find the "select all" command
MS Access 2007: "Query is Too Complex!"
How to get back original value of a combo box
Password Protect Individual Outlook Contacts?
Vista Windows Update hangs on Preparing to install
List box select color... Access 2007