Hola amigos, estoy "jugueteando" con TWebView2.
¿Existe algún modo de detectar si el "WebView2 Runtime" está instalado en el sistema?
Gracias,
TWebView2 - Detectar si está instalado en el sistema
- AngelSalom
- Posts: 727
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Benicarló (Castellón ) - España
- Contact:
TWebView2 - Detectar si está instalado en el sistema
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Re: TWebView2 - Detectar si está instalado en el sistema
Hola Angel buenas tardes como estas?
Code: Select all | Expand
lSisas := IsWebViewAvailable()
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
- AngelSalom
- Posts: 727
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Benicarló (Castellón ) - España
- Contact:
Re: TWebView2 - Detectar si está instalado en el sistema
Hola Leandro, gracias. Pero esa función solo detecta si webview.dll puede cargarse.
En el caso de webview2 no es necesaria.
En el caso de webview2 no es necesaria.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
-
- Posts: 26
- Joined: Tue Mar 20, 2012 11:06 pm
Re: TWebView2 - Detectar si está instalado en el sistema
Hola :AngelSalom wrote:Hola Leandro, gracias. Pero esa función solo detecta si webview.dll puede cargarse.
En el caso de webview2 no es necesaria.
te suguiero leas https://learn.microsoft.com/en-us/micro ... -installed
Slds
- Antonio Linares
- Site Admin
- Posts: 42259
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: TWebView2 - Detectar si está instalado en el sistema
Code: Select all | Expand
#include "FiveWin.ch"
function Main()
MsgInfo( IsWebView2Available() )
return nil
function IsWebView2Available()
return ! Empty( TWebView2():New():hWebView )
- AngelSalom
- Posts: 727
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Benicarló (Castellón ) - España
- Contact:
Re: TWebView2 - Detectar si está instalado en el sistema
Gracias Antonio, simple y efectivo.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
- AngelSalom
- Posts: 727
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Benicarló (Castellón ) - España
- Contact:
Re: TWebView2 - Detectar si está instalado en el sistema
Respecto a esta aproximación, en Windows 7 ( sí aún me quedan clientes usándolo ), da mejor resultado que la propuesta por Antonio, ya que aquella arroja un error de protección si el componente no está instalado.Danielmaximiliano wrote:Hola :AngelSalom wrote:Hola Leandro, gracias. Pero esa función solo detecta si webview.dll puede cargarse.
En el caso de webview2 no es necesaria.
te suguiero leas https://learn.microsoft.com/en-us/micro ... -installed
Slds
Lo dicho, basándome en el enlace y siguiendo las instrucciones de Microsoft, se consulta el valor adecuado en diferentes puntos del registro.
Code: Select all | Expand
Static Function IsWebView2Available()
// Comprueba en RegEdit si está instalado WebView2
// https://learn.microsoft.com/es-es/microsoft-edge/webview2/concepts/distribution?tabs=dotnetcsharp#detect-if-a-webview2-runtime-is-already-installed
#define HKEY_CURRENT_USER 2147483649 // 0x80000001
#define HKEY_LOCAL_MACHINE 2147483650 // 0x80000002
Local oReg AS Object := nil
Local cPv AS String := ''
oReg := TReg32():New( HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}', .F. )
cPv := oReg:Get( 'pv' )
if Empty( cPv )
oReg := TReg32():New( HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}', .f. )
cPv := oReg:Get( 'pv' )
endif
if Empty( cPv )
oReg := TReg32():New( HKEY_CURRENT_USER, 'Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}', .f. )
cPv := oReg:Get( 'pv' )
endif
return ( .Not. Empty( cPv ) )
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
- Antonio Linares
- Site Admin
- Posts: 42259
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: TWebView2 - Detectar si está instalado en el sistema
Muy bien!
No probé la función en Windows 7...
No probé la función en Windows 7...