Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1797 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Réglé]Pause dans un thread en séquence

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Réglé]Pause dans un thread en séquence

n°1873126
burn2
ça rox du poney
Posté le 15-04-2009 à 10:19:15  profilanswer
 

Bonjour à tous et toutes, j'ai un petit problème avec le C#.
 
Voici donc le contexte:
je cherche à piloter une application qui est sélectionnée et donc je cherche à lui envoyer des évènements claviers.
Le problème c'est que j'ai besoin de pause dans cette séquence.
 
Donc le truc tout bête que j'essayais de faire c'est:

Code :
  1. //Process[] myProcesses;
  2.             //myProcesses = Process.GetProcessesByName("WINWORD" );
  3.             //const int nChars = 256;
  4.             //StringBuilder Buff = new StringBuilder(nChars);
  5.             //GetWindowText(myProcesses[0].MainWindowHandle,Buff,nChars)
  6.             Thread.Sleep(2000);
  7.             //MessageBox.Show(myProcesses[0].MainWindowTitle.ToString());
  8.             //SetForegroundWindow(myProcesses[0].MainWindowHandle);
  9.             SendKeys.Send("^%{a}" );
  10.             //Application.DoEvents();
  11.             Thread.Sleep(5000);
  12.             SendKeys.Send("a" );


 
Le problème c'est que:
les évènements ne sont pas envoyé avant les pauses en gros je vais avoir ça:
Une pause de 7s puis les deux sendkeys d'effectué, et non pas une lecture séquencielle... J'ai essayé de forcer via un application.DOEvents comme vous pouvez le voir mais ça ne change strictement rien. :/
 
Comment faire pour faire une pause sans bloquer la séquence d'exécution des évènements? (en gros il faut que ça fasse une pause, mais que ce qui était demandé précédement soit exécuté quand même, car j'aurais besoin de faire une pause en monitorant le processus pour patienter tant qu'il n'est pas en idle puis continuer l'envoie de touche etc, mais là rien que la suite tout simple que je fais ne marche pas).
 
 
 
Merci d'avance.


Message édité par burn2 le 15-04-2009 à 10:56:26

---------------
"C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …"
mood
Publicité
Posté le 15-04-2009 à 10:19:15  profilanswer
 

n°1873151
burn2
ça rox du poney
Posté le 15-04-2009 à 10:56:08  profilanswer
 

Bon j'ai trouvé comment faire, j'ai forcé l'exécution des sendkeys via:
SendKeys.Flush();
ça ne devrait pas être normal de devoir forcer quoi que ce soit puisque c'est du sequentiel mais bon...


---------------
"C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Réglé]Pause dans un thread en séquence

 

Sujets relatifs
[Réglé] (Dot.Net) Add-in Managerpb semaphore thread mutex
petit probleme de communication inter thread[Réglé]Test à l'accès d'un fichier (savoir s'il est déjà ouvert)
Thread concurrency ? (OpenGL vs STK)erreur avec le thread
thread-safety et buffers[RESOLU] Probleme synchro thread
Pause dans programme pour faire une actionCmt répartir les sorties de différents thread sur différents terminaux
Plus de sujets relatifs à : [Réglé]Pause dans un thread en séquence


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)