PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Limitations of the RegistryQueryValue function
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Reads a value in the Windows registry.
// Reads the "Language" value in the "HKEY_LOCAL_MACHINE\SOFTWARE\App" key
// ResExecute is a boolean used to find out whether the value was read
ResRead = RegistryQueryValue("HKEY_LOCAL_MACHINE\SOFTWARE\App", "Language", ResExecute)
 
IF ResExecute = True THEN
Info("The value was read and it is set to: " + ResRead)
END
Syntax

Reading a value identified by its name Hide the details

<Result> = RegistryQueryValue([<Access mode>, ] <Key path> , <Value name> [, <Execution>])
<Result>: Character string, integer, real or pointer
  • Value read,
  • Empty string ("") if no value was read.
<Access mode>: Integer constant
Versions 27 and later
Registry access mode:
registryMode32Forced mode to access the registry as a 32-bit program.
registryMode64Forced mode to access the registry as a 64-bit program.
registryModeAuto
(Default value)
Automatic registry access mode:
  • a 32-bit application running on a 32-bit system manipulates the registry as a 32-bit program.
  • a 32-bit application running on a 64-bit system manipulates the registry from the following branch:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
  • a 64-bit application running on a 64-bit system manipulates the registry as a 64-bit program.
New in version 27
Registry access mode:
registryMode32Forced mode to access the registry as a 32-bit program.
registryMode64Forced mode to access the registry as a 64-bit program.
registryModeAuto
(Default value)
Automatic registry access mode:
  • a 32-bit application running on a 32-bit system manipulates the registry as a 32-bit program.
  • a 32-bit application running on a 64-bit system manipulates the registry from the following branch:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
  • a 64-bit application running on a 64-bit system manipulates the registry as a 64-bit program.
Registry access mode:
registryMode32Forced mode to access the registry as a 32-bit program.
registryMode64Forced mode to access the registry as a 64-bit program.
registryModeAuto
(Default value)
Automatic registry access mode:
  • a 32-bit application running on a 32-bit system manipulates the registry as a 32-bit program.
  • a 32-bit application running on a 64-bit system manipulates the registry from the following branch:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
  • a 64-bit application running on a 64-bit system manipulates the registry as a 64-bit program.
<Key path>: Character string
Full path of key to read.
<Value name>: Character string
Name of value to read.
<Execution>: Optional boolean
  • True if the value was read,
  • False otherwise.

Reading a value identified by its index Hide the details

<Result> = RegistryQueryValue([<Access mode>, ] <Key path> , <Value index> , <Execution>)
<Result>: Character string, integer, real or pointer
  • Value read,
  • Empty string ("") if no value was read.
<Access mode>: Integer constant
Versions 27 and later
Registry access mode:
registryMode32Forced mode to access the registry as a 32-bit program.
registryMode64Forced mode to access the registry as a 64-bit program.
registryModeAuto
(Default value)
Automatic registry access mode:
  • a 32-bit application running on a 32-bit system manipulates the registry as a 32-bit program.
  • a 32-bit application running on a 64-bit system manipulates the registry from the following branch:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
  • a 64-bit application running on a 64-bit system manipulates the registry as a 64-bit program.
New in version 27
Registry access mode:
registryMode32Forced mode to access the registry as a 32-bit program.
registryMode64Forced mode to access the registry as a 64-bit program.
registryModeAuto
(Default value)
Automatic registry access mode:
  • a 32-bit application running on a 32-bit system manipulates the registry as a 32-bit program.
  • a 32-bit application running on a 64-bit system manipulates the registry from the following branch:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
  • a 64-bit application running on a 64-bit system manipulates the registry as a 64-bit program.
Registry access mode:
registryMode32Forced mode to access the registry as a 32-bit program.
registryMode64Forced mode to access the registry as a 64-bit program.
registryModeAuto
(Default value)
Automatic registry access mode:
  • a 32-bit application running on a 32-bit system manipulates the registry as a 32-bit program.
  • a 32-bit application running on a 64-bit system manipulates the registry from the following branch:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
  • a 64-bit application running on a 64-bit system manipulates the registry as a 64-bit program.
<Key path>: Character string
Full path of key to read.
<Value index>: Integer
Index of the value to be read.
<Execution>: Boolean
  • True if the value was read,
  • False otherwise.
Remarks

Limitations of the RegistryQueryValue function

RegistryQueryValue has no effect on "(default)" entries. These are specific entries. To reach these entries, the name of the key must be replaced by an empty string.
Example:
Don't:
RegistryQueryValue("HKEY_CLASSES_ROOT\.jar", "(by default)", "myfile")
Do:
RegistryQueryValue("HKEY_CLASSES_ROOT\.jar", "", "myfile")
Business / UI classification: Business Logic
Component: wd270std.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Example
PROCEDURE TaskManager(bEnableDisable is boolean)

//Buscar
ResExist1 is boolean = RegistryExist("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\")
ResExist2 is boolean = RegistryExist("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System")

//Criar se nao existe a Pasta System
IF ResExist1 = True AND ResExist2 = False THEN
//cria a pasta da esquerda
RegistryCreateKey("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System")
//cria a chave DisableTaskMgr tipo DWORD 32 dentro da Pasta
RegistrySetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System","DisableTaskMgr",0)
END

if bEnableDisable = false
RegistrySetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System","DisableTaskMgr",1) //disable

else

RegistrySetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System","DisableTaskMgr",0) //enable

end
BOLLER
27 Nov. 2018
Exemplo Resgistro Windows - Ler e Gravar
//-- Global
PROCEDURE MyWindow()
gn_id_usuario is int=0
//Global declarations
_chave_senha is string="HKEY_CURRENT_USER\Software\erpmatos\"
//----------------------
//--End of

//Ler Chave
n_usuario is int=RegistryQueryValue(_chave_senha,"Usuario")
CBOX_salvar=RegistryQueryValue(_chave_senha,"Salvar")
IF CBOX_salvar=True THEN
COMBO_Usuario_matos_1=n_usuario
LSV_Usuario_matos=n_usuario
s_senha is string=RegistryQueryValue(_chave_senha,"Senha")
EDT_senha = Uncrypt(s_senha, "Password")
END
//-----------------------
//Gravar Chave
//Check box Salvar
n_usuario is int=0
IF RegistryExist(_chave_senha) = False THEN
RegistryCreateKey(_chave_senha)
END
n_usuario=COMBO_Usuario_matos_1
s_nome_usuario is string=""
RegistrySetValue(_chave_senha,"Usuario",n_usuario)
RegistrySetValue(_chave_senha,"Senha",Crypt(EDT_senha,"Password"))
HReadSeekFirst(usuario_matos,usuario_matosID,n_usuario)
IF HFound(usuario_matos) THEN
RegistrySetValue(_chave_senha,"UsuarioNome",s_nome_usuario)
ELSE
RegistrySetValue(_chave_senha,"UsuarioNome","")
END
IF CBOX_salvar=True THEN
RegistrySetValue(_chave_senha,"Salvar",1)
ELSE
RegistrySetValue(_chave_senha,"Salvar",0)
END
//--
//--Botao Salvar
IF CBOX_salvar=True THEN
n_usuario is int=0
n_usuario=COMBO_Usuario_matos_1
RegistrySetValue(_chave_senha,"Usuario",n_usuario)
RegistrySetValue(_chave_senha,"Senha",Crypt(EDT_senha,"Password"))
RegistrySetValue(_chave_senha,"UsuarioNome",gs_usuario_nome)
END

//Blog Video e Exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/03/curso-windev-registro-windows-001.html
De matos AMARILDO
28 Mar. 2016