Visual C++ .NET - Problemas con el registro

 
Vista:

Problemas con el registro

Publicado por sergiomm (3 intervenciones) el 25/02/2009 14:17:57
Saludos.

Tengi un GPS con windows ce 5.0 core y tengo un problema a la hora de editar el registro.
cuando le aplico unas modificaciones mediante codigo a traves un script hecho con mortscript ,

#Modificar registro para que reconozca mortscrip

RegWriteString( "HKCR", "MortScript", "Default", "MortScript")
RegWriteString( "HKCR", "MortScriptDefaultIcon", "Default", "SDMMCMortscripPNAMortScript.exe,-107")
RegWriteString( "HKCR", "MortScriptShellOpenCommand", "", """SDMMCMortscripPNAMortScript.exe"" ""%1""")
RegWriteString( "HKCR", ".mscr", "", "MortScript")
RegWriteString( "HKCR", ".mortrun", "", "MortScript")

#Modificar registro para que reconozca archivos( *.jpg, *.bmp, etc. )

RegWriteString( "HKCR", ".jpg", "Default", "jpegfile")
RegWriteString( "HKCR", ".jpg", "Content Type", "image/jpeg")
RegWriteString( "HKCR", ".jpg", "PerceivedType", "image")


RegWriteString( "HKCR", "jpegfileDefaultIcon", "Default", "SDMMCFileViewersimageviewer.exe,-101")
RegWriteString( "HKCR", "jpegfileshellopencommand","", """SDMMCFileViewersimageviewer.exe"" ""%1""")

añade las claves y subclaves pero el registro en si no aplica los cambios,
entonces cuando le doy doble click a una imagen jpg me sale el error de que ese archivo no esta asociado a ningun programa.

como se podria hacer para que aplicara o refrescara los cambios en el registro mediante codigo?
en evc++ si se puede.

Graqcias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Actualización dinámica del registro en Windows CE 5.0 Core

Publicado por Alejandro (265 intervenciones) el 06/02/2024 22:44:44
1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
 
int main() {
    // Realizar modificaciones en el registro
    // ...
 
    // Notificar al sistema operativo sobre los cambios en el registro
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
 
    return 0;
}

Sergiomm, este pequeño programa en C++ para Windows CE realiza las modificaciones necesarias en el registro, y luego utiliza la función `SHChangeNotify` para notificar al sistema operativo sobre los cambios realizados. Esta función indica que se ha producido un cambio en las asociaciones de archivos y carpetas, lo que debería refrescar la información del registro.

Asegúrate de incluir la librería `aygshell.lib` en tu proyecto, ya que contiene la implementación de `SHChangeNotify` para aplicaciones de Windows CE.

Recuerda que modificar el registro puede tener consecuencias, así que ten cuidado al realizar estos cambios. Además, ten en cuenta que este código está diseñado para Windows CE, y puede ser diferente de las implementaciones para otras versiones de Windows.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar