Créer une action récurrente en arrière plan

Créer une action récurrente en arrière plan - Win NT/2K/XP - Windows & Software

Marsh Posté le 23-02-2009 à 22:49:20    

Hello,
 
Je voulais savoir comment créer simplement un soft qui me permettrai de simuler une action récurrente en arrière plan.
 
J'ai trouvé un soft qui simule l'action d'appuyer sur F1 toutes les 70 secondes, et ce en arrière plan (ce dernier point est très important).
 
Je dois créer un soft sur le même principe, mais qui simule l'action d'appuyer sur F1 sans arrêt, en arrière plan, et surtout sans délai.
 
Celui que j'utilise actuellement est accompagné d'une clé de registre.
 
J'ai ouvert cette clé avec Depends, mais je suis parfaitement incapable d'y comprendre ou même modifier quoi que ce soit.
 
Je demande humblement votre aide. Prenez votre temps, je ne suis pas pressé et je sais qu'il y a sur ce forum des demandes d'aide urgente qui passeront avant la mienne ^^
 
A bientôt,
Nico

Reply

Marsh Posté le 23-02-2009 à 22:49:20   

Reply

Marsh Posté le 23-02-2009 à 23:42:36    

AutoHotkey?

Reply

Marsh Posté le 23-02-2009 à 23:50:07    

salut,  
et en passant par le registre il n'y a pas possibilité de modifier ce délai ? Delayload...... quelque chose de ce genre ?
Ce qui serait réaplicable sur ton soft non ?


Message édité par rastaman40 le 23-02-2009 à 23:54:26
Reply

Marsh Posté le 24-02-2009 à 08:32:46    

Salut à vous 2,
Je me renseigne illico sur vos réponses.
Merci
 
Edit:
Autohotkey fonctionne uniquement pour une fenêtre au 1er plan. Si la fenêtre est au second plan, le script est actif sur la fenêtre qui est au 1er plan.
Il ne convient donc pas à mes besoins.
Quant à la commande Delayload, je me replonge dans ma clé de registre de suite  :pt1cable:
 
Edit2 :
Après de fines observations  :sweat:  je crois avoir repéré les commandes à l'intérieur de la clé que je possède ; il y en a 4 :
 
- SendEvent
- SendKey
- myKeybEvent
- myPostMessageA
 
Je ne sais pas vraiment à laquelle correspond la fréquence, mais je pense avoir trouvé mon secteur d'action ^^
"SendKey" doit correspondre à la touche F1, "myKeybEvent" ça doit être en rapport au clavier (keyboard), mais alors les 2 autres, je patine là...
 
Help !


Message édité par mmoplayer le 24-02-2009 à 08:53:38
Reply

Marsh Posté le 24-02-2009 à 13:03:21    

C'est pour faire quoi ? Automatiser un soft ? Parfois certains logiciels sont automatisables de manière plus fiable, via une API. Reposer sur des envois de touches est parfois un peu dangereux :)

Reply

Marsh Posté le 24-02-2009 à 19:21:48    

AutoHotkey permet (au moins) d'activer une fenêtre au préalable (WinActivate) et d'envoyer une floppée de touches avec SendRaw, sinon un truc que j'ai jamais essayé c'est ControlSend (est-ce que c'est en tâche de fond sans déranger ce qui se passe au premier plan?)

Reply

Marsh Posté le 24-02-2009 à 20:38:04    

Si tant est qu'il continue d'envoyer la commande quand je passe l'appli concernée en arrière-plan, ControlSend à l'air d'être le soft que je cherche (enfin ^^).
Tu sais comment le télécharger ?
 
Merci à tous pour votre aide.
 
Edit : ControlSend est un ensemble de commandes à taper dans AutoHotKey.
 
J'étudie ces lignes de commandes.
 
Edit2 : J'ai bien compris comment éditer le script (format .ahk) et comment le transformer en exécutable (format .exe), mais voila, la commande que je veux exécuter est d'appuyer sur F1, sans limite de temps. En continu quoi. La commande que j'entre au moment d'éditer le script est donc Send {F1 down}, seulement au moment où j'exécute le script j'ai un message d'erreur qui me dit que la commande n'est pas reconnue.
 
Edit3 : Rien de nouveau, toujours ce satané message d'erreur. Ce qui me rend dingue, c'est que je suis à 2 doigts d'arriver au résultat cherché.
Cordialement.


Message édité par mmoplayer le 27-02-2009 à 16:48:44
Reply

Marsh Posté le 02-03-2009 à 00:32:01    

Aucune réponse depuis une semaine :'(
Arg, je ne trouve pas.
Help.

Reply

Marsh Posté le 02-03-2009 à 21:40:40    

Je passe pas tous les jours sur cette cat :ange:
 
Je n'arrive pas à utiliser cette fonction avec la fenêtre de mon choix, y a que l'exemple de la doc qui fonctionne ...
Le script sur la touche "Alt-y"
Fais Démarrer - Exécuter - cmd et valide: ça lance la ligne de commande. Ensuite active une autre fenêtre et tape Alt-y : abc est tapé dans le Dos et pas dans la fenêtre active.
 

;
; AutoHotkey Version: 1.x
;
; Script Function:
; test ControlSend
;
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode RegEx
 
!y::
ControlSend,,abc,cmd.exe  ; Send directly to a command prompt window.
return


 
Notes:
- tu peux lancer un script sans le transformer en .exe (réserve ça pour quand il fonctionnera). Tu peux l'éditer, le sauvegarder et bouton droit sur l'icône "H" d'AHK pour faire "Reload this script".
- {F1 down} ne répète pas forcément F1 pendant une infinité de temps (je l'ignore) mais tu peux faire {F1}{F1}{F1}{F1}{F1}{F1}{F1}{F1}

Reply

Marsh Posté le 02-03-2009 à 21:55:33    

Ah ben j'arrive à le faire fonctionner avec Firefox ou le Bloc-Notes mais le premier programme avec lequel j'avais testé ne se laisse pas faire ...
Avec le Bloc-Notes ouvert:
 

ControlSend ,,abc,Bloc

Reply

Marsh Posté le 02-03-2009 à 21:55:33   

Reply

Marsh Posté le 04-03-2009 à 10:48:13    

Merci pour ta réponse.
Je crois y avoir trouvé un début de solution :
dans la ligne "ControlSend,,abc.cmd.exe", on est bien d'accord que la commande est envoyée à l'appli "cmd.exe", c'est à dire l'invité de commandes Windows.
Si maintenant on remplace "cmd.exe" par le nom de l'appli concernée, ça devrait envoyer la commande à cette appli, qu'elle soit en 1er ou en 2nd plan ?
Je teste tout de suite.
 
Edit : Je teste tout de suite en rentrant du boulot  :sweat:


Message édité par mmoplayer le 04-03-2009 à 11:15:46
Reply

Marsh Posté le 05-03-2009 à 02:48:01    

Vaut mieux pas prendre cmd.exe comme exemple parce que c'est à la fois le nom du programme C:\WINDOWS\system32\cmd.exe (dont le chemin est connu de Windows) et une partie du titre de la fenêtre mais sinon l'exemple avec "Bloc" est OK. Le nom de l'appli est notepad mais le titre de la fenêtre contient Bloc-Notes à la fin

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed