Hola:
Solo un detalle, Internet Explorer al instanciarlo siempre se comporta como Internet Explorer 7, sea la versión que sea, y eso hace que de error en, por ejemplo, Windows 10.Mira este artículo, es muy interesante y lo explica muy bien:José Enrique Llopis
De: publicesvfoxpro@googlegroups.com [mailto:publicesvfoxpro@googlegroups.com] En nombre de Jorgito P
Enviado el: miércoles, 27 de septiembre de 2017 19:58
Para: Comunidad de Visual Foxpro en Español
Asunto: Re: [vfp] Alternativa a shell.explorer2
*****************************************************************************
*** Devuelve la versión de Internet Explorer instalada
*** Basado en el ejemplo de News2News:
***
http://www.news2news.com/vfp/?example=142&function=657*****************************************************************************
FUNCTION
_FFWK_GetExplorerVersion LOCAL lcVersionString, lcVersionString2m.lcVersionString = _FFWK_GetIEValues("Version")
m.lcVersionString2 = _FFWK_GetIEValues("SvcVersion")
IF NOT EMPTY(lcVersionString2)lcVersionString = lcVersionString2
ENDIFIF EMPTY
( lcVersionString ) RETURN 0 ENDIF lnPosicion = ATC( ".",lcVersionString) IF lnPosicion <= 0 RETURN 0 ENDIF lcVersionString = LEFT( lcVersionString, lnPosicion - 1 ) RETURN INT(VAL( lcVersionString ))ENDFUNC
***********************************************************************
*** Consigue la versión de Internet Explorer y el UserAgent
*** ? "Version: ", _FFWK_GetHKLM("Version")
*** ? "Build: ", _FFWK_GetHKLM("Build")
***********************************************************************
FUNCTION
_FFWK_GetIEValues(lcValue) && reading LOCAL_MACHINE registry data DECLARE INTEGER RegOpenKeyEx IN advapi32; INTEGER hKey, STRING lpSubKey, INTEGER ulOptions,; INTEGER samDesired, INTEGER @phkResult DECLARE INTEGER RegQueryValueEx IN advapi32; INTEGER hKey, STRING lpValueName, INTEGER lpReserved,; INTEGER @lpType, STRING @lpData, INTEGER @lpcbData DECLARE INTEGER RegCloseKey IN advapi32 INTEGER hKey
*!* #DEFINE HKEY_LOCAL_MACHINE 0x80000002
#DEFINE ccKey "Software\Microsoft\Internet Explorer"#
DEFINE ERROR_SUCCESS 0#
DEFINE KEY_READ 131097LOCAL hKey, lcData, lnSize, lcResult
hKey = 0
* opening specified key IF RegOpenKeyEx(HKEY_LOCAL_MACHINE, ccKey, 0, KEY_READ, @hKey) <> ERROR_SUCCESS RETURN "#error#" ENDIF lnSize = 250
lcData =
SPACE(lnSize) * quering the value name IF RegQueryValueEx(hKey, lcValue, 0,0, @lcData, @lnSize) = ERROR_SUCCESSlcResult =
Left(lcData, lnSize-1) ELSE lcResult = "#not found#" ENDIF = RegCloseKey (hKey) && releasing key handle RETURN lcResultENDFUNC
Hola a todos:Al final lo he solucionado creando en el registro del sistema un nuevo valor en: