Partage
  • Partager sur Facebook
  • Partager sur Twitter

Commande si on lance 1 logiciel, fait si.

    22 janvier 2006 à 20:58:42

    Bonjour.
    Désolée mais le titre est pas très explicite mais j'ai trouver que sa.
    Alors je veux faire une petit blague a mon frère car on a eu un fou rire sur la Papouasie et le Japon (je vous explique pas tout! :p )
    Et j'aimerais faire un programme qui fait, si il ouvre telle programme je fait sa.
    En gros je penser un peu a sa:

    if (couter-strike.exe lance)
    {
    le programme
    }

    Mais je ne sais pas comment dire si on ouvre se programme la alors fait
    si.
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2006 à 21:00:53

      faut bosser en win32 et il faut, il me semble attraper les messages de ce programme. Je pense que c'est comme ça.
      • Partager sur Facebook
      • Partager sur Twitter
        23 janvier 2006 à 16:48:59

        Je suis un vrai zero et: c'est qui win32? et comment attraper les message du programme?
        • Partager sur Facebook
        • Partager sur Twitter
          23 janvier 2006 à 17:13:08

          win32 : Windows 32 bits.
          Il faudrait utiliser l'API Windows (enfin, puisque tu es probablement sous Windows).
          Mais de toutes façons, j'ai un doute sur le droit de visibilité des autres programmes de façon directe. Enfin personnellement, je n'ai jamais vu de programme connaître la liste des processus en cours.

          Sans vouloir décourager, tu n'auras pas le niveau de faire ça, de toutes façons.
          • Partager sur Facebook
          • Partager sur Twitter
            23 janvier 2006 à 21:08:54

            D'accord j'aurais bien aimer faire la farce a mon frère mais bon..
            Au revoir tout le monde et fermé le topic ou supprimé le ou je sais pas quoi ^^
            • Partager sur Facebook
            • Partager sur Twitter
              23 janvier 2006 à 23:43:42

              Citation : Elentar

              win32 : Windows 32 bits.
              Il faudrait utiliser l'API Windows (enfin, puisque tu es probablement sous Windows).
              Mais de toutes façons, j'ai un doute sur le droit de visibilité des autres programmes de façon directe. Enfin personnellement, je n'ai jamais vu de programme connaître la liste des processus en cours.

              Sans vouloir décourager, tu n'auras pas le niveau de faire ça, de toutes façons.



              Elentar, tu connais pas le traditionnel CTRL+ALT+DEL sous Windows ?
              Jusqu'a windows 98(compris), cela te donne une maigre liste des process lancé, et a partir de windows 2K, ca te donne une liste pareil,

              sauf que tu as un onglet pour avoir la liste complète(avec le nom de l'EXE etc...).
              sous Windows XP, tu as la même chose mais aussi en console: tasklist pour la liste, et taskkill ou tskill pour tuer un process(tskill tu dois connaitre le PID, et pour taskkill te suffit de mettre /im lefichier.EXE pour le killer, tu rajoute /f si tu veus forcer son kill).

              Linux à d'ailleur la même chose(pour avoir la liste je la connais pas, mais pour killer avec le nom du process tu as: killall -9 process en tous cas sous Linux Debian Sarge, sous les autres distrib je ne sais pas).

              Dans la série des progs permettant d'avoir la liste des process et les killer, tu as aussi: process explorer, dispo gratuitement sur le site de sysinternals.
              • Partager sur Facebook
              • Partager sur Twitter
              Mon site internet : http://www.chrissoftware.fr.nf
                23 janvier 2006 à 23:52:36

                Je sais qu'à partir de certaines versions de Windows, ça peut se lire directement dans le registre et faut avouer que c'est assez bourrin.
                Enfin, c'est la seule façon que je connaisse, il doit en exister d'autres.
                • Partager sur Facebook
                • Partager sur Twitter
                  24 janvier 2006 à 0:20:51

                  Lol moi j'ai cachemanXP, accessible gratuitement..

                  Ca te donne la gestion de ta memoire, de l'utilisation de ton proco et ca te donne tout la liste des processus en cours :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 janvier 2006 à 0:28:08

                    Citation : gero

                    Lol moi j'ai cachemanXP, accessible gratuitement..

                    Ca te donne la gestion de ta memoire, de l'utilisation de ton proco et ca te donne tout la liste des processus en cours :)

                    Joli HS... A moi qu'il ne s'agisse d'une classe Cpp? :-°

                    Au fait, tu n'y arriveras pas facilement en C, tourne toi plutot vers le Cpp (pour la POO).
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 janvier 2006 à 0:42:45

                      (c'etait pas totalement un HS ^^ on parlais de visionnement de processus, je mentionnais donc le fait que cachemanXp pouvais le faire :) )
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 janvier 2006 à 7:27:07

                        Citation : MAX-k

                        Citation : gero

                        Lol moi j'ai cachemanXP, accessible gratuitement..

                        Ca te donne la gestion de ta memoire, de l'utilisation de ton proco et ca te donne tout la liste des processus en cours :)

                        Joli HS... A moi qu'il ne s'agisse d'une classe Cpp? :-°

                        Au fait, tu n'y arriveras pas facilement en C, tourne toi plutot vers le Cpp (pour la POO).


                        Il n'aura absolument pas besoin de POO la dedans :)
                        Sinon tu peux utiliser la fonction win32 FindWindow ()
                        qui s'utilise comme ca :

                        if (FindWindow ("counter.exe"))
                        {
                            // actions à faire si counter strike est lancé
                        }

                        Je crois que tu peux mettre des noms de fenetre comme des noms de prog, mais ca fay longtemps que je l'ai plus utilisé :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 janvier 2006 à 18:33:25

                          Otheym > Bien sûr que je connais CtrlAltSuppr, je disais seulement que j'avais un _doute_ sur le fait qu'un _programme_ (et non pas Windows directement) puisse accéder aux processus en cours.

                          Je ne connaissais ni tasklist ni FindWindow, bon à savoir :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 janvier 2006 à 18:36:30

                            Il ne faut pas mettre un #include avant de mettre la fonction FindWindow?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 janvier 2006 à 20:01:30

                              Citation : vicovni

                              Il ne faut pas mettre un #include avant de mettre la fonction FindWindow?


                              Citation : asmanur

                              Sinon tu peux utiliser la fonction win32 FindWindow ()


                              Avec un peu de logique, tu trouves tout seul :)
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                24 janvier 2006 à 20:48:54

                                #include <windows.h> ?...
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  25 janvier 2006 à 8:33:54

                                  Mais il ne doit pas falloir inclure juste windows.h il doit falloir faire une déclaration d'API aussi je supose non ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    25 janvier 2006 à 10:38:42

                                    Euh... moi ça ne marche pas Findwindow()
                                    Quelqu'un peut m'aider?
                                    Mon programme (basique, juste un test)
                                    #include <stdio.h>
                                    #include <windows.h>
                                    int main(int argc, char *argv[])
                                    {

                                        if (FindWindow ("devcpp.exe"))
                                        {
                                            printf("Gagne!\n");
                                        }
                                        printf("Appuyez sur un touche pour arr\x88ter...");
                                        getchar();
                                        return 0;
                                    }
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      25 janvier 2006 à 13:58:02

                                      Aucune idée je suis dans le même problème quie toi mais...c'est quoi a la fin dans le printf le truc bizarre >_< ??
                                      printf("Appuyez sur un touche pour arr\x88ter...");
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Anonyme
                                        25 janvier 2006 à 13:59:25

                                        Citation : vicovni

                                        Aucune idée je suis dans le même problème quie toi mais...c'est quoi a la fin dans le printf le truc bizarre Image utilisateur ??

                                        printf("Appuyez sur un touche pour arr\x88ter...");

                                        C'est pour afficher le caractère dont le code héxadécimal est 88 (ê)
                                        Comme ça la console gère les accents!
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          25 janvier 2006 à 16:33:51

                                          Autant pour moi, je me suis trompé :S
                                          Comme une citation de msdn vaut mieux qu'un long discours :

                                          Citation : MSDN

                                          HWND FindWindow(

                                          LPCTSTR lpClassName,
                                          LPCTSTR lpWindowName
                                          );

                                          Parameters

                                          lpClassName
                                          [in] Pointer to a null-terminated string that specifies the class name or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpClassName; the high-order word must be zero.

                                          If lpClassName points to a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names.

                                          If lpClassName is NULL, it finds any window whose title matches the lpWindowName parameter.
                                          lpWindowName
                                          [in] Pointer to a null-terminated string that specifies the window name (the window's title). If this parameter is NULL, all window names match.


                                          En gros, le premier paramètres doit être null et le second le nom de la fenetre, donc ca donne :
                                          #include <stdio.h>
                                          #include <windows.h>
                                          int main(int argc, char *argv[])
                                          {

                                              if (FindWindow (NULL,"Dev-C++ 4.9.9.2"))
                                              {
                                                  printf("Gagne!\n");
                                              }
                                              printf("Appuyez sur un touche pour arr\x88ter...");
                                              getchar();
                                              return 0;
                                          }

                                          Et ca marche :)
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            25 janvier 2006 à 20:33:03

                                            Oui mais que signife a la fin de ton code, (NULL,"Dev-C++ 4.9.9.2"))??
                                            Edit: J'ai essayer le bout de code et lorsque que je lance Dev-C++ sa ne fait rien :(
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              25 janvier 2006 à 21:13:55

                                              tu n'as surement pas la même version de devcpp que asmanur
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                25 janvier 2006 à 21:34:37

                                                Ca ne marche pas non plus j'ai la même version. faut-il laisser la fenetre en petit?
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  26 janvier 2006 à 7:11:07

                                                  Merci de lire mon post en entier .....

                                                  Citation : Pas de titre

                                                  Oui mais que signife a la fin de ton code, (NULL,"Dev-C++ 4.9.9.2"))??



                                                  Citation : Pas de titre

                                                  En gros, le premier paramètres doit être null et le second le nom de la fenetre, donc ca donne :


                                                  Et il faut que dev cpp soit lancé AVANT, sinon ca marche pas bien sur.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    26 janvier 2006 à 10:10:44

                                                    Je repond au futur question.
                                                    Pour que le programme detecte quand on lance la fenetre, sufie de rajouter ca :

                                                    #include <stdio.h>
                                                    #include <windows.h>
                                                    int main(int argc, char *argv[])
                                                    {
                                                        int i=1;
                                                        while (i) {
                                                            if (FindWindow (NULL,"Dev-C++ 4.9.9.2"))
                                                            {
                                                                printf("Gagne!\n");
                                                                i=0;
                                                            }
                                                            Sleep(5000); // Pour eviter qu'il bloque l'ordinateur en executant la boucle trop de fois par seconde
                                                        }
                                                        printf("Appuyez sur un touche pour arr\x88ter...");
                                                        getchar();
                                                        return 0;
                                                    }
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      26 janvier 2006 à 11:40:09

                                                      Oui mais moi ce que je voulais c'est quand je lance le logiciel, le programme que j'ai fait s'ouvre!
                                                      Et la c'est si le logiciel est lancé, alors mon programme peux marcher!
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        26 janvier 2006 à 12:49:16

                                                        Tu remplaces l'exécutable par un script bête et méchant qui lance les deux exécutables à la fois...
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          26 janvier 2006 à 15:30:18

                                                          Merci de lire mon post en entier .....
                                                          Citation : Pas de titre
                                                          Oui mais que signife a la fin de ton code, (NULL,"Dev-C++ 4.9.9.2"))??


                                                          Citation : Pas de titre
                                                          En gros, le premier paramètres doit être null et le second le nom de la fenetre, donc ca donne :

                                                          Et il faut que dev cpp soit lancé AVANT, sinon ca marche pas bien sur.


                                                          calme... je l'avais lu mais n'avais pas bien compris... et ma qustion été de savoir si la fenetre du code doit rester ouverte !! si oui sa sert à rien... sinon a quoi sa sert qu'il se lance quand le logiciel est lancé puique, pour le faire marcher il faudra le réouvrir,,,
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            26 janvier 2006 à 16:12:52

                                                            tu n'as qu'a utiliser le code de shoods et le lancer au lancement de windows :)
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Anonyme
                                                              26 janvier 2006 à 18:14:49

                                                              ça marche pas :'(
                                                              Le programme marche, mais n'affiche pas "Gagné!"
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Commande si on lance 1 logiciel, fait si.

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown