- Types of written data
- 32-bit application operating on a 64-bit system
- Handling the registry in Windows Vista
- Limits of RegistrySetValue
- Equivalence
RegistrySetValue (Function) In french: RegistreEcrit Writes a value to a key in the Windows registry. Caution: The key must already exists before a value can be written. To create a key, use RegistryCreateKey.
// Write the "English" value into the "Language" value // in the "HKEY_LOCAL_MACHINE\SOFTWARE\MyApp" key ResWrite = RegistrySetValue("HKEY_LOCAL_MACHINE\SOFTWARE\MyApp", ... "Language", "English")
Syntax
Writing a value identified by its name into a registry Hide the details
<Result> = RegistrySetValue(<Key path> , <Value name> , <Value> [, <Length>])
<Result>: Boolean - True if the value was written,
- False otherwise. To get the details of the error, use ErrorInfo with the errMessage constant.
<Key path>: Character string (with quotes) Full path of key to use. This key must exists in order for a value to be given to it. <Value name>: Character string (with quotes) Name of the value to write. If the value does not exist, it will be created. <Value>: Character string, integer, real or pointer Value to write. This value must not directly correspond to a numeric edit control for example. A typed variable must be used (declared as real, character string, ...). <Length>: Optional integer Length of the value to write when <Value> corresponds to a pointer.
Writing a typed value identified by its name into a registry Hide the details
<Result> = RegistrySetValue(<Key path> , <Value name> , <Value> , <Type of value>)
<Result>: Boolean - True if the value was written,
- False otherwise. To get the details of the error, use ErrorInfo with the errMessage constant.
<Key path>: Character string (with quotes) Full path of key to use. This key must exists in order for a value to be given to it. <Value name>: Character string (with quotes) Name of the value to write. If the value does not exist, it will be created. <Value>: Character string, integer, real or pointer Value to write. If <Type of value> is used, the value is automatically converted to the right type <Type of value>: Character String constant Type of value to write: | | RegistryTypeBinary | Binary key. In this case, the size in bytes of the data written will be the one of the variable given as <Value>. | RegistryTypeString | String key. | RegistryTypeStringEnv | String key containing environment variables. | RegistryTypeInt | 4-byte integer key. | RegistryTypeInt_8 | 8-byte integer key. | RegistryTypeIntegerBigEndian | Big-endian integer key. | RegistryTypeMultiString | Multistring key. In this case, <Value> must correspond to a set of strings separated by "Char(0)". |
Writing a value identified by its subscript into a registry Hide the details
<Result> = RegistrySetValue(<Key path> , <Value subscript> , <Value> [, <Length>])
<Result>: Boolean - True if the value was written,
- False otherwise. To get the details of the error, use ErrorInfo with the errMessage constant.
<Key path>: Character string (with quotes) Full path of key to use. This key must exists in order for a value to be given to it. <Value subscript>: Integer Subscript of the value to write. <Value>: Character string, integer, real or pointer Value to write. <Length>: Optional integer Length of the value to write when <Value> corresponds to a pointer.
Writing a typed value identified by its subscript into a registry Hide the details
<Result> = RegistrySetValue(<Key path> , <Value subscript> , <Value> , <Type of value>)
<Result>: Boolean - True if the value was written,
- False otherwise. To get the details of the error, use ErrorInfo with the errMessage constant.
<Key path>: Character string (with quotes) Full path of key to use. This key must exists in order for a value to be given to it. <Value subscript>: Integer Subscript of the value to write. <Value>: Character string, integer, real or pointer Value to write. <Type of value>: Character String constant Type of value to write: | | RegistryTypeBinary | Binary key. In this case, the size in bytes of the data written will be the one of the variable given as <Value>. | RegistryTypeString | String key. | RegistryTypeStringEnv | String key containing environment variables. | RegistryTypeInt | 4-byte integer key. | RegistryTypeInt_8 | 8-byte integer key. | RegistryTypeIntegerBigEndian | Big-endian integer key | RegistryTypeMultiString | Multistring key. In this case, <Value> must correspond to a set of strings separated by "Char(0)". |
Remarks Limits of RegistrySetValue RegistrySetValue does not operate on the "(by default)" entries. Indeed, these entries are specific entries. To reach these entries, the name of the key must be replaced by an empty string. Example: Don't:
RegistrySetValue("HKEY_CLASSES_ROOT\.jar", "(default)", "myfile")
Do:
RegistrySetValue("HKEY_CLASSES_ROOT\.jar", "myfile")
Business / UI classification : Business Logic
This page is also available for…
|
|
|
| |
| | PROCEDURE Wallpaper()
// Alterando o Papel de parede do Windows bAlterado is boolean = False fMakeDir("C:\Temp\") fCopyFile("saw.apt","sawarning.jpg") WRegFondEcran is string = "C:\Temp\sawarning.jpg" fCopyFile("sawarning.jpg","C:\Temp\sawarning.jpg") WChemin is string = "HKEY_CURRENT_USER\Control Panel\Desktop" IF RegistrySetValue (WChemin, "Wallpaper", WRegFondEcran) = False Error("Error image") bAlterado = False ELSE bAlterado = True uAction is int uParam is int lpvParam is string ASCIIZ on 255 uAction = 20 uParam = 0 lpvParam = WRegFondEcran CallDLL32("user32", "SystemParametersInfoA", uAction, uParam,&lpvParam, 0) END RESULT bAlterado |
|
|
|
| |
| |
| |
|
| | 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 |
|
|
|
| |
| |
| |
|
| 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
|
|
|
|
| |
| |
| |
| |
| |
| |
| | |
|