Bonjour à tous
J’aimerai pouvoir désactiver la sourie enfin la rendre inactive pendant l’exécution d’un script, quelqu’un saurait-il m’aider ?
Bonjour à tous
J’aimerai pouvoir désactiver la sourie enfin la rendre inactive pendant l’exécution d’un script, quelqu’un saurait-il m’aider ?
Salut,
Tu peux utiliser une fonction des API de windows : 'ShowCursor'. Enfin, elle désactive pas la souris, elle cache seulement le curseur. Tu écris cette ligne dans le fichier où la cache du pointeur doit être appelée :
Ensuite, dans ce fichier tu ecris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'Fonction API pour cacher ou afficher le pointeur de la souris Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
Attention : si tu quittes anormalement le programme alors que le curseur est caché, tu n'as plus de curseur...Enfin, il me semble.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ShowCursor False 'Pour cacher le curseur ShowCursor True 'Pour montrer le curseur
Bonjour Rémiz et merci beaucoup
Mais cela ne sufira pas de cacher le pointeur, s'est pour un script qui ouvre une application puis execute des combinaison de touche, pour eviter de cliquer sur une autre fenêtre que celle de l'application et déranger le script il faut que je puisse désactiver temporairement la sourie.
Je ne sais pas si "Application.Interactive=False" peut t'aider, mais ça bloque aussi le clavier...
Bonjour Rakham et merci beaucoup
Une fois que le script sera fini, sa reviendra a la normale aprés ?
Oups 1000 pardons! J'ai oublié de te dire qu'il fallait les réactiver à la fin de ton script en utilisant "Application.Interactive=True"...Envoyé par Furius
Bonne chance et n'oublies pas le tag "résolu"!
Cela ne fonctionne pas, s'est bien pour un script .vbs ?
Il me semble que oui mais pas sûr... En tout cas voilà ce que me donne l'aide:
Exemple
Cet exemple montre comment affecter la valeur False à la propriété Interactive pendant qu'elle utilise l'échange dynamique de données sous Windows, puis lui affecter de nouveau la valeur True une fois que l'échange est terminé. L'utilisateur ne risque ainsi pas d'entraver l'exécution de la macro.
Application.Interactive = False
Application.DisplayAlerts = False
channelNumber = Application.DDEInitiate( _
app:="WinWord", _
topic:="C:\WINWORD\FORMLETR.DOC")
Application.DDEExecute channelNumber, "[FILEPRINT]"
Application.DDETerminate channelNumber
Application.DisplayAlerts = True
Application.Interactive = True
Ben en tout cas sa ne fonctionne pas dans mon script .vbs.
Si quelqu'un connait une autre commande ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager