je me réfère à l'adresse suivante pour l'utilisation de la fonction
SystemParametersInfo
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/systemparametersinfo.asp
j'arrive à activer/désactiver l'ombre du curseur en utilisant
mais je n'arrive pas à lire sa valeur pour voir si il est activé ou
désactivé
elle me retourne toujours 0 meme si elle est activé
pourquoi la valeur retournée ne prend pas 1 quand elle est activé ? pourquoi
elle reste à 0 ?
si quelqu'un pouvait m'aider à résoudre ce problème ?
voici mon code
Declare Function SystemParametersInfo Lib "user32" Alias
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal
lpvParam As Any, ByVal fuWinIni As Long) As Long
j'arrive à activer/désactiver l'ombre du curseur en utilisant mais je n'arrive pas à lire sa valeur pour voir si il est activé ou désactivé elle me retourne toujours 0 meme si elle est activé
pourquoi la valeur retournée ne prend pas 1 quand elle est activé ? pourquoi elle reste à 0 ? si quelqu'un pouvait m'aider à résoudre ce problème ?
voici mon code
Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
j'arrive à activer/désactiver l'ombre du curseur en utilisant
mais je n'arrive pas à lire sa valeur pour voir si il est activé ou
désactivé
elle me retourne toujours 0 meme si elle est activé
pourquoi la valeur retournée ne prend pas 1 quand elle est activé ?
pourquoi elle reste à 0 ?
si quelqu'un pouvait m'aider à résoudre ce problème ?
voici mon code
Declare Function SystemParametersInfo Lib "user32" Alias
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long,
ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
j'arrive à activer/désactiver l'ombre du curseur en utilisant mais je n'arrive pas à lire sa valeur pour voir si il est activé ou désactivé elle me retourne toujours 0 meme si elle est activé
pourquoi la valeur retournée ne prend pas 1 quand elle est activé ? pourquoi elle reste à 0 ? si quelqu'un pouvait m'aider à résoudre ce problème ?
voici mon code
Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
la fonction SystemParametersInfo me retourne 0 à RetVal !!!! c'est pas bon elle doit retourner un non zéro si tout se passe bien donc je pense que c'est normal que pour GETCURSORSHADOW je récupère toujours 0 dans Res
mais pourquoi cela ne marche pas ? je ne vois pas le problème
bonjour,
désolé je me suis trompé dans mes copiés coller
mais ma constante SPI_GETCURSORSHADOW avait bien pour valeur &h101a&
la fonction SystemParametersInfo me retourne 0 à RetVal !!!! c'est pas bon
elle doit retourner un non zéro si tout se passe bien
donc je pense que c'est normal que pour GETCURSORSHADOW je récupère toujours
0 dans Res
mais pourquoi cela ne marche pas ?
je ne vois pas le problème
la fonction SystemParametersInfo me retourne 0 à RetVal !!!! c'est pas bon elle doit retourner un non zéro si tout se passe bien donc je pense que c'est normal que pour GETCURSORSHADOW je récupère toujours 0 dans Res
mais pourquoi cela ne marche pas ? je ne vois pas le problème
François Picalausa
Hello,
Effectivement, c'est la déclaration qui pose problème. Quand on essaye: RetVal = SystemParametersInfo(SPI_GETCURSORSHADOW, 0, Res, 0) Debug.Print Err.LastDllError
on voit s'afficher 998, ce qui correspond à Invalid access to memory location. ERROR_NOACCESS C'est du au Byval devant lpvParam. En effet, ici on ne passe pas la valeur de la variable mais un pointeur vers la variable (puisque celle ci doit être modifiée). La déclaration sera donc: Private Declare Function SystemParametersInfo _ Lib "user32" _ Alias "SystemParametersInfoA" _ ( _ ByVal uAction As Long, _ ByVal uParam As Long, _ lpvParam As Any, _ ByVal fuWinIni As Long _ ) _ As Long
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Bseb" a écrit dans le message de news:c9a8qa$467$
désolé je me suis trompé dans mes copiés coller mais ma constante SPI_GETCURSORSHADOW avait bien pour valeur &h101a&
Hello,
Effectivement, c'est la déclaration qui pose problème.
Quand on essaye:
RetVal = SystemParametersInfo(SPI_GETCURSORSHADOW, 0, Res, 0)
Debug.Print Err.LastDllError
on voit s'afficher 998, ce qui correspond à Invalid access to memory
location. ERROR_NOACCESS
C'est du au Byval devant lpvParam.
En effet, ici on ne passe pas la valeur de la variable mais un pointeur vers
la variable (puisque celle ci doit être modifiée).
La déclaration sera donc:
Private Declare Function SystemParametersInfo _
Lib "user32" _
Alias "SystemParametersInfoA" _
( _
ByVal uAction As Long, _
ByVal uParam As Long, _
lpvParam As Any, _
ByVal fuWinIni As Long _
) _
As Long
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Bseb" <zititeuf@no-spam.org> a écrit dans le message de
news:c9a8qa$467$1@news-reader4.wanadoo.fr
désolé je me suis trompé dans mes copiés coller
mais ma constante SPI_GETCURSORSHADOW avait bien pour valeur &h101a&
Effectivement, c'est la déclaration qui pose problème. Quand on essaye: RetVal = SystemParametersInfo(SPI_GETCURSORSHADOW, 0, Res, 0) Debug.Print Err.LastDllError
on voit s'afficher 998, ce qui correspond à Invalid access to memory location. ERROR_NOACCESS C'est du au Byval devant lpvParam. En effet, ici on ne passe pas la valeur de la variable mais un pointeur vers la variable (puisque celle ci doit être modifiée). La déclaration sera donc: Private Declare Function SystemParametersInfo _ Lib "user32" _ Alias "SystemParametersInfoA" _ ( _ ByVal uAction As Long, _ ByVal uParam As Long, _ lpvParam As Any, _ ByVal fuWinIni As Long _ ) _ As Long
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Bseb" a écrit dans le message de news:c9a8qa$467$
désolé je me suis trompé dans mes copiés coller mais ma constante SPI_GETCURSORSHADOW avait bien pour valeur &h101a&
Bseb
merci à toi sa marche je comprend maintenant pourquoi sa retourner pas un non zéro merci
merci à toi sa marche
je comprend maintenant pourquoi sa retourner pas un non zéro
merci