parent nodes: WikiSIGC | Windows
Registro De Windows
Apuntes de registro de windows
Apuntes de registro de windows
Registro
Para borrar una rama del Registro de windows. Exportar esa rama a un archivo .reg
Abrirlo con un editor de texto, si por ejemplo queremos borrar HKEY_LOCAL_MACHINE\SOFTWARE\ANCERT una línea antes pondremos un signo menos
[-HKEY_LOCAL_MACHINE\SOFTWARE\ANCERT]
[HKEY_LOCAL_MACHINE\SOFTWARE\ANCERT]
[HKEY_LOCAL_MACHINE\SOFTWARE\ANCERT\SIGC]
[HKEY_LOCAL_MACHINE\SOFTWARE\ANCERT\SIGC\SERVER]
"DataBase1"="SIGC_PRB"
"DataBase2"="SIGC_COL"
"ServerName1"="sigc1"
"ServerName2"="sigc1"
"DirOSQL"=""
"DataBase3"=""
"ServerName3"=""
"DirSIGC"="C:\\Sigc Server2\\"
La primera línea borra por completo la rama, las otras líneas crean la misma rama de nuevo, con una nueva parametrización.
Nuevos windows (vista, 7, etc)
En SIGC afecta a los servidores, los registros de los clientes no escriben en HKEY_LOCAL_MACHINE sino en HKEY_CURRENT_USER
En lugar de HKEY_LOCAL_MACHINE\SOFTWARE\ANCERT\SIGC
Hay que usar el nodo Wow6432NodeHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ANCERT\SIGC
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\ANCERT\SIGC]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ANCERT]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ANCERT\SIGC]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ANCERT\SIGC\SERVER]
"DirSIGC"="\\\\SERVIDORAX\Sigc Server\\"
"DataBase1"="SIGC_PRB"
"DataBase2"="SIGC_COL"
"ServerName1"="COLEGIO\\Adminax"
"ServerName2"="COLEGIO\\Adminax"
"DataBase3"="SIGC_ALBACETE"
"ServerName3"="COLEGIO\\Adminax"
"DirOSQL"=""
"DataBase4"=""
"ServerName4"=""
Desde SIGC usar las siguientes funciones:
Escribir en el registro
BOOL autoGuardar = TRUE;
MeteProfile( IDS_SECCION_GENERAL, IDS_AUTO_GUARDAR_WORD, autoGuardar );
// Donde:
// IDS_SECCION_GENERAL = "General"
// IDS_AUTO_GUARDAR_WORD = "AutoGuardar"
PolimorfismoC:\sigc\colegio\Utiles.h(19):void MeteProfile(const char* secion,const char* elemento,const char* szcad);
C:\sigc\colegio\Utiles.h(20):void MeteProfile(const char* secion,UINT elemento,const char* szcad);
C:\sigc\colegio\Utiles.h(21):void MeteProfile(const char* secion,UINT elemento,int szcad);
C:\sigc\colegio\Utiles.h(22):void MeteProfile(UINT secion,UINT elemento,CString& szcad);
C:\sigc\colegio\Utiles.h(23):void MeteProfile(UINT secion,UINT elemento,short sznum);
Leer del registro
BOOL autoGuardar = FALSE;
// IDS_SECCION_GENERAL =
// IDS_AUTO_GUARDAR_WORD =
DameProfile( IDS_SECCION_GENERAL, IDS_AUTO_GUARDAR_WORD, autoGuardar );
También hay:__declspec(dllexport) BOOL DameDelRegistro(HKEY principal,CString& origen,const char* buscar,long& destino);
__declspec(dllexport) BOOL DameDelRegistro(HKEY principal,CString& origen,const char* buscar,CString& destino);
__declspec(dllexport) BOOL MeteAlRegistro(HKEY principal,CString& origen,const char* buscar,long destino);
__declspec(dllexport) BOOL MeteAlRegistro(HKEY principal,CString& origen,const char* buscar,const char* destino);
Al final uso estas
CString ruta = _T( "Software\\IN\\Colegio\\General" );
MeteAlRegistro( HKEY_CURRENT_USER, ruta, "IdUsuarioActual", m_contador );
long destino = 121; // por poner un valor chungo
DameDelRegistro( HKEY_CURRENT_USER, ruta, "IdUsuarioActual", destino );
y a veces estas otras:MeteProfile( IDS_SECCION_GENERAL, IDS_USUARIO_ACTUAL, DameGen()->m_id_usuario );
todo.medium: 20091039. Copiar quí el código de DameProfile y .
[camelCaseWordsEnabled: false]