Funcion Cambio de Fondo de Escritorio

05/09/2006 - 14:55 por BayGoN | Informe spam
Hola!, estoy intentando utilizar la funcion:

nResult WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER,1,fileName,SPIF_SENDCHANGE);

para cambiar el fondo de escritorio de mi Smartphone. Esta funcion
devuelve un booleano que retorna TRUE si ha sido realizado con éxito.
Los valores de las constantes son los correctos:

public const uint SPI_SETDESKWALLPAPER = 0x0014;
public const uint SPIF_SENDCHANGE = 0x2;

Y el fileName contiene un bmp válido que está en el Smartphone. El
caso es que esta función siempre me devuelve False y los cambios no se
producen, está mapeada de la librería: Corell.dll

Todo lo que he visto con respecto al tema este, la gente la utiliza sin
problemas en Windows, y yo lo estoy probando en el emulador con el
entorno del SDK del Windows CE 5.0 y me pasa esto.

Alguien sabe que hago mal?
Gracias por leerlo, y por la posible respuesta, un saludo

Preguntas similare

Leer las respuestas

#1 José Miguel Torres
05/09/2006 - 18:19 | Informe spam
Hola asegurate que estas poniendo un bitmap. Por otro lado puedes poner aqui
la declaración a SystemParametersInfo, es posible que el error este en el
tipo de datos de fileName.

espero noticias tuyas,
sludos

José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com
http://www.desarrolloMobile.NET

"BayGoN" escribió en el mensaje
news:
Hola!, estoy intentando utilizar la funcion:

nResult WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER,1,fileName,SPIF_SENDCHANGE);

para cambiar el fondo de escritorio de mi Smartphone. Esta funcion
devuelve un booleano que retorna TRUE si ha sido realizado con éxito.
Los valores de las constantes son los correctos:

public const uint SPI_SETDESKWALLPAPER = 0x0014;
public const uint SPIF_SENDCHANGE = 0x2;

Y el fileName contiene un bmp válido que está en el Smartphone. El
caso es que esta función siempre me devuelve False y los cambios no se
producen, está mapeada de la librería: Corell.dll

Todo lo que he visto con respecto al tema este, la gente la utiliza sin
problemas en Windows, y yo lo estoy probando en el emulador con el
entorno del SDK del Windows CE 5.0 y me pasa esto.

Alguien sabe que hago mal?
Gracias por leerlo, y por la posible respuesta, un saludo
Respuesta Responder a este mensaje
#2 BayGoN
06/09/2006 - 10:34 | Informe spam
Hola Jose Miguel, gracias por responder. La declaracion de
SystemParametersInfo es:

[DllImport("coredll.dll", CharSet = CharSet.Auto)]
public static extern bool SystemParametersInfo(
uint uAction,
uint uParam,
string lpvParam,
uint fuWinIni);

Y efectivamente, el filename es un bitmap que se encuentra en el
teléfono(en este caso en el emulador, comprobado con el Active Sync).

El caso es que por lo que he podido ver, me parece que este
SPI_SETDESKWALLPAPER no viene soportado en la version de Windows CE 5.0
para Smartphone. He solucionado el tema accediendo al registro para
modificarlo y pasándole ahí posteriormente el mensaje de información
al sistema para que los cambios tengan efecto.

Es que no podía ser otra cosa, esta función en principio no debería
tener complicaciones, y viendo por ahí que todo el mundo la usaba...
(pero claro la mayoría en aplicaciones escritorio de Windows), en fin
ahí estamos.
Gracias otra vez por el interés.
Un saludo!




José Miguel Torres wrote:
Hola asegurate que estas poniendo un bitmap. Por otro lado puedes poner aqui
la declaración a SystemParametersInfo, es posible que el error este en el
tipo de datos de fileName.

espero noticias tuyas,
sludos

José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com
http://www.desarrolloMobile.NET

"BayGoN" escribió en el mensaje
news:
Hola!, estoy intentando utilizar la funcion:

nResult > WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER,1,fileName,SPIF_SENDCHANGE);

para cambiar el fondo de escritorio de mi Smartphone. Esta funcion
devuelve un booleano que retorna TRUE si ha sido realizado con éxito.
Los valores de las constantes son los correctos:

public const uint SPI_SETDESKWALLPAPER = 0x0014;
public const uint SPIF_SENDCHANGE = 0x2;

Y el fileName contiene un bmp válido que está en el Smartphone. El
caso es que esta función siempre me devuelve False y los cambios no se
producen, está mapeada de la librería: Corell.dll

Todo lo que he visto con respecto al tema este, la gente la utiliza sin
problemas en Windows, y yo lo estoy probando en el emulador con el
entorno del SDK del Windows CE 5.0 y me pasa esto.

Alguien sabe que hago mal?
Gracias por leerlo, y por la posible respuesta, un saludo
Respuesta Responder a este mensaje
#3 BayGoN
19/09/2006 - 09:18 | Informe spam
Lo tengo! la clave es la función:
DMProcessConfigXML.
Todo lo referente a esa función está aquí. Con esta función se
enchufan configuraciones XML al movil y se recogen las que están
activas.

http://msdn.microsoft.com/library/d...figXML.asp


Todo lo necesario lo he encontrado ahí. Ole.




BayGoN wrote:
Hola Jose Miguel, gracias por responder. La declaracion de
SystemParametersInfo es:

[DllImport("coredll.dll", CharSet = CharSet.Auto)]
public static extern bool SystemParametersInfo(
uint uAction,
uint uParam,
string lpvParam,
uint fuWinIni);

Y efectivamente, el filename es un bitmap que se encuentra en el
teléfono(en este caso en el emulador, comprobado con el Active Sync).

El caso es que por lo que he podido ver, me parece que este
SPI_SETDESKWALLPAPER no viene soportado en la version de Windows CE 5.0
para Smartphone. He solucionado el tema accediendo al registro para
modificarlo y pasándole ahí posteriormente el mensaje de información
al sistema para que los cambios tengan efecto.

Es que no podía ser otra cosa, esta función en principio no debería
tener complicaciones, y viendo por ahí que todo el mundo la usaba...
(pero claro la mayoría en aplicaciones escritorio de Windows), en fin
ahí estamos.
Gracias otra vez por el interés.
Un saludo!




José Miguel Torres wrote:
> Hola asegurate que estas poniendo un bitmap. Por otro lado puedes poner aqui
> la declaración a SystemParametersInfo, es posible que el error este en el
> tipo de datos de fileName.
>
> espero noticias tuyas,
> sludos
>
> José Miguel Torres
> jtorres_diaz~~ARROBA~~terra.es
> http://jmtorres.blogspot.com
> http://www.desarrolloMobile.NET
>
> "BayGoN" escribió en el mensaje
> news:
> Hola!, estoy intentando utilizar la funcion:
>
> nResult > > WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER,1,fileName,SPIF_SENDCHANGE);
>
> para cambiar el fondo de escritorio de mi Smartphone. Esta funcion
> devuelve un booleano que retorna TRUE si ha sido realizado con éxito.
> Los valores de las constantes son los correctos:
>
> public const uint SPI_SETDESKWALLPAPER = 0x0014;
> public const uint SPIF_SENDCHANGE = 0x2;
>
> Y el fileName contiene un bmp válido que está en el Smartphone. El
> caso es que esta función siempre me devuelve False y los cambios no se
> producen, está mapeada de la librería: Corell.dll
>
> Todo lo que he visto con respecto al tema este, la gente la utiliza sin
> problemas en Windows, y yo lo estoy probando en el emulador con el
> entorno del SDK del Windows CE 5.0 y me pasa esto.
>
> Alguien sabe que hago mal?
> Gracias por leerlo, y por la posible respuesta, un saludo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida