In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

tregistry problema

Foro público de Xailer en español
Responder
franksoft
Mensajes: 42
Registrado: Lun Sep 05, 2011 6:45 pm

tregistry problema

Mensaje por franksoft »

después de actualizar win8 a win8.1
Esta rutina ya no funciona
alguien sabe cómo ayudarme?
FUNCTION GetProductId(cPrId)
LOCAL nHKey := HKEY_LOCAL_MACHINE
LOCAL cRegPath := "SOFTWAREMicrosoftWindows NTCurrentVersion"
LOCAL cRegkey := "ProductId"
WITH OBJECT tregistry():Create()
:Root := nHKey
IF :OpenKey( cRegPath ) == 0
cPrId := PADR(:GetString( cRegkey ),23)
MsgInfo(cPrId)
:CloseKey()
ENDIF
:Destroy()
END WITH
RETURN cPrId
gracias frank
joselalinf
Mensajes: 291
Registrado: Jue Ene 31, 2013 1:10 pm

tregistry problema

Mensaje por joselalinf »

Franco,
> después de actualizar win8 a win8.1
en 32 o 64 bit?
Saludos,
José Lalí­n
franksoft
Mensajes: 42
Registrado: Lun Sep 05, 2011 6:45 pm

tregistry problema

Mensaje por franksoft »

64 bit
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

tregistry problema

Mensaje por zeasoftware »

Yo igual he tenido problemas, lo único que se me ha ocurrido es poner en
propiedades del ejecutable es que lo ejecute como usuario administrador, y
en algunos me ha dejado de dar lata.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
https://www.facebook.com/zeasoftware
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Franco" escribió en el mensaje de noticias:53abe16c$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
después de actualizar win8 a win8.1
Esta rutina ya no funciona
alguien sabe cómo ayudarme?
FUNCTION GetProductId(cPrId)
LOCAL nHKey := HKEY_LOCAL_MACHINE
LOCAL cRegPath := "SOFTWAREMicrosoftWindows
NTCurrentVersion"
LOCAL cRegkey := "ProductId"
WITH OBJECT tregistry():Create()
:Root := nHKey
IF :OpenKey( cRegPath ) == 0
cPrId := PADR(:GetString( cRegkey ),23)
MsgInfo(cPrId)
:CloseKey()
ENDIF
:Destroy()
END WITH
RETURN cPrId
gracias frank
joselalinf
Mensajes: 291
Registrado: Jue Ene 31, 2013 1:10 pm

tregistry problema

Mensaje por joselalinf »

Franco,
intenta así­:
IF :OpenKey( cRegPath, nOR( 0x01, 0x0100 ) ) == 0
Si sigue sin funcionar intenta cambiando 0x0100 por 0x0200.
Saludos,
José Lalí­n
franksoft
Mensajes: 42
Registrado: Lun Sep 05, 2011 6:45 pm

tregistry problema

Mensaje por franksoft »

gracias José, :OpenKey(cRegPath, nOR(0x01, 0x0100)) == 0
funciona correctamente.
Ahora me resulta imposible escribir en el registro con esto codice si no cambiamos manualmente la siguiente clave:
SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
"EnableLUA" = 1 >>> "EnableLUA" = 0

WITH OBJECT tregistry():Create()
:Root := nHKey
:CreateKey( cRegKey )
IF :OpenKey( cRegPath ) == 0
:SetString( cRegKey, cRegApp )
:CloseKey(.T.)
ENDIF
:Destroy()
END WITH
Con la versión win8.0 trabaja, desde el 8,1 no
Franco
joselalinf
Mensajes: 291
Registrado: Jue Ene 31, 2013 1:10 pm

tregistry problema

Mensaje por joselalinf »

Franco,
> gracias José, :OpenKey(cRegPath, nOR(0x01, 0x0100)) == 0 funciona
> correctamente.
gracias por confirmarlo.
> Ahora me resulta imposible escribir en el registro con esto
> codice si no cambiamos manualmente la siguiente clave:
He mirado en la MSDN y el contenido de esa clave tiene que ser numérico
(DWORD) y le estás pasando una cadena. ¿Has probado con :SetNumeric()?
:SetNumeric( cRegKey, cRegApp )
Saludos,
José Lalí­n
franksoft
Mensajes: 42
Registrado: Lun Sep 05, 2011 6:45 pm

tregistry problema

Mensaje por franksoft »

José,
Me explico. Mi código crea una nueva clave alfanumérica y hasta trabajo win8.0 correctamente.
Con win8.1 es imposible escribir en el registro.
si antes no se cambia manualmente, dentro de la carpeta
SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
la tecla numérica "EnableLUA" = 1 >>> "EnableLUA" = 0.
Espero haber sido claro
Saludos
Franco
joselalinf
Mensajes: 291
Registrado: Jue Ene 31, 2013 1:10 pm

tregistry problema

Mensaje por joselalinf »

Franco,
quizás tu aplicación no tiene permisos para crear la rama y por eso el error.
Pon una llamada a MsgSysError( GetLastError() ) tras :SetString() para
saber cuál es el problema.
Saludos,
José Lalí­n
Cassiano de Oliveira
Mensajes: 475
Registrado: Mar Jul 24, 2012 10:21 pm

tregistry problema

Mensaje por Cassiano de Oliveira »

Franco,
Não tenho Windows 8 pra testar, mas pode talvez te ajudar:
//---------------------------------------------------------- --------------------
FUNCTION UAC(nAtivar)
*****************************************************
* Ativa ou Desativa UAC // para Harbour
*****************************************************
LOCAL cRunName, cRunKey, cRegKey, cRegValue, cRegRoot
// 0-Desativar
// 1-Ativar
cRegValue := nAtivar
cRegRoot := WIN_HKEY_LOCAL_MACHINE
*-- Vista ou Seven or Upper
IF win_osIsVistaOrUpper() // hb_osIsWin9x() hb_osIsWinNT()
hb_osIsWin2K() wapi_IsUserAnAdmin()
cRegKey := "SOFTWAREMicrosoftSecurity Center"
win_regQuery( cRegRoot, cRegKey, "UACDisableNotify", cRegValue,
..T. )
ELSE
cRegKey :=
"SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem"
win_regQuery( cRegRoot, cRegKey, "EnableLUA", cRegValue, .T. )
ENDIF
RETURN 0
Outra coisa q também pode te ajudar é fazer seu aplicativo executar como
Administrador, veja no link abaixo como:
http://www.pctoledo.com.br/forum/viewto ... ?f=43&t=15 134
Saludos,
[]´s
"José Lalí­n" wrote in message news:53b3dd5f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Franco,
quizás tu aplicación no tiene permisos para crear la rama y por eso el
error.
Pon una llamada a MsgSysError( GetLastError() ) tras :SetString() para
saber cuál es el problema.
Saludos,
José Lalí­n
---
Este email está limpo de ví­rus e malwares porque a proteção do avast! Antiví­rus está ativa.
http://www.avast.com
Responder