> Tous les forumsAutres langages

 Programme utilise trop de resources!Sujet résolu
Statut du sujet : RESOLU Imprimer
 TonIMontana
  Posté le 08/02/2006 @ 22:32  
 Astucien


1145 Messages
Bonjour j'ai créer un programme en VISUAL BASIC. Se programme permet juste de simulé un click de sourie sur une icone, ou d'écrire un texte sur une case... Se programme fonctionne trés bien mais il utilise pres de 50% de mon processeur 3.00Ghz. 1GO de ram. Dou vien se probleme ? Merci;)
 Afficher le profil de TonIMontana Envoyer un message privé à TonIMontana
 
 
Publicité
 TroXsA  Posté le 09/02/2006 à 10:15  
Petit astucien

225 Messages
Bonjour Je pense que ton programme est n'est pas optimiser donne nous le code qu'on jete un oeil @+
Afficher le profil de TroXsA Voir la configuration de TroXsAEnvoyer un message privé à TroXsA
 Revenir en haut de la page
 TonIMontana  Posté le 09/02/2006 à 13:31  
Astucien


1145 Messages
Salut merci de m'avoir répondu... Sa serais possible j'ai rien mis point de vue optimisation.
'Mouse simulator 'Constantes et function pour la souris Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) Private Declare Function SetCursorPos& Lib "user32" (ByVal X As Long, ByVal Y As Long) Const MOUSEEVENTF_ABSOLUTE = &H8000 Const MOUSEEVENTF_LEFTDOWN = &H2 Const MOUSEEVENTF_LEFTUP = &H4 Const MOUSEEVENTF_MIDDLEDOWN = &H20 Const MOUSEEVENTF_MIDDLEUP = &H40 Const MOUSEEVENTF_MOVE = &H1 Const MOUSEEVENTF_RIGHTDOWN = &H8 Const MOUSEEVENTF_RIGHTUP = &H10 Const MOUSEEVENTF_WHEEL = &H80 Const MOUSEEVENTF_XDOWN = &H100 Const MOUSEEVENTF_XUP = &H200 Const WHEEL_DELTA = 120 Const XBUTTON1 = &H1 Const XBUTTON2 = &H2 'Function Pause => met le programme en attente pendant x secondes Private Function Pause(ByVal nbSecondes As Single) Dim Tmp As Single Tmp = Timer Do While Timer < Tmp + nbSecondes DoEvents Loop End Function Private Sub Command1_Click() X = 39 Y = 402 'position de la souris au coordonnée X et Y '(ici si vous êtes en 1024 x 768,cela va cliquer sur le bouton 'Démarrer' de la barre des taches) Pause 5 SetCursorPos X, Y 'Le bouton gauche de la souris s'enfonce Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) ' 'le bouton gauche de la souris se relache Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) 'Le bouton gauche de la souris s'enfonce Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) ' 'le bouton gauche de la souris se relache Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 20 X = 460 Y = 300 SetCursorPos X, Y Pause 10 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 10 X = 674 Y = 430 SetCursorPos X, Y Pause 1 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 10 X = 656 Y = 405 SetCursorPos X, Y Pause 10 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 10 X = 254 Y = 232 SetCursorPos X, Y Pause 10 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 10 X = 231 Y = 352 SetCursorPos X, Y Pause 10 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 10 X = 143 Y = 175 SetCursorPos X, Y Pause 5 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 5 'Envoie une serie de touche au clavier => le clavier ecrit calc SendKeys "{A}" + "{T}" Pause 11 X = 200 Y = 284 SetCursorPos X, Y Pause 5 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 5 X = 300 Y = 222 SetCursorPos X, Y Pause 5 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Do Call Cc22c Loop Until a = 1000000000 End Sub Private Sub Cc22c() Pause 5 X = 143 Y = 175 SetCursorPos X, Y Pause 5 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 5 'Envoie une serie de touche au clavier => le clavier ecrit calc SendKeys "{A}" + "{T}" Pause 5 X = 200 Y = 284 SetCursorPos X, Y Pause 5 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Pause 5 X = 300 Y = 222 SetCursorPos X, Y Pause 5 Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) End Sub Private Sub Fin_Click() Close End End Sub Private Sub Form_Load() End Sub
Désolé de vous embété je débute! Merci
Afficher le profil de TonIMontana Voir la configuration de TonIMontanaEnvoyer un message privé à TonIMontana
 Revenir en haut de la page
 breizhbugs  Posté le 09/02/2006 à 15:29  
Astucien

3001 Messages
Salut, Je pense que ca vient de ta foncion "pause" qui fait des tours de boucle a toute vitesse. Windows dispose d'une fonction "Sleep(milliseconde)", elle est peut etre dispo pour visual basic et consomme (peut etre, je sais pas non plus) peut etre moins de ressources proc.
Afficher le profil de breizhbugs Voir la configuration de breizhbugsEnvoyer un message privé à breizhbugs
 Revenir en haut de la page
 TonIMontana  Posté le 09/02/2006 à 23:03  
Astucien


1145 Messages
Nan je l'ai remplacé.. c'est la meme chose :(
Afficher le profil de TonIMontana Voir la configuration de TonIMontanaEnvoyer un message privé à TonIMontana
 Revenir en haut de la page
 TonIMontana  Posté le 10/02/2006 à 19:54  
Astucien


1145 Messages
Pouvez vous essayé se CODE sur vos PC? Voir si sa bug ché vous? merci
Afficher le profil de TonIMontana Voir la configuration de TonIMontanaEnvoyer un message privé à TonIMontana
 Revenir en haut de la page
 TonIMontana  Posté le 12/02/2006 à 09:43  
Astucien


1145 Messages
Salut! Remplacer la fonction :
'Function Pause => met le programme en attente pendant x secondes Private Function Pause(ByVal nbSecondes As Single) Dim Tmp As Single Tmp = Timer Do While Timer < Tmp + nbSecondes DoEvents Loop End Function
Par
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'procédure Pause => met le programme en attente pendant x secondes Private Sub Pause(ByRef iSecs As Integer) Call Sleep(iSecs * 1000) DoEvents End Sub
Et sa marche :)
Afficher le profil de TonIMontana Voir la configuration de TonIMontanaEnvoyer un message privé à TonIMontana
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
Généalogique multimédia sur DVD ou Blu-Ray
Problème de "liens" avec Gmail
C and Socket sous linux
[VB 5] Microsoft Internet Messaging API
coment programe les radios en borland c++6
Hack mapple
programmation des chaine de type car(C++)
de l'aide en c++
programmation vba et interruption
mon ordi plante règulièrement
realloc : fiable ou pas?
Créer un petit programme pr archivage msn
Editeur textes
liberty basic
Pascal - portabilité
Editeur de texte pour programmer sous Linux
authorware
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page
Comme PC Astuces, mettez-vous au vert avec Ikoula !
Faites le choix d'un hébergeur acteur de l'environnement !