Tom's Guide > Forum > Programmation > RESOLU[C] ajouter un fichier au lancement d'un *.exe
Mot :    Pseudo :           
 

Bonjour, j'aimerai que IE lance un exe (crée par moi qui compte le nombre de fois que ce programme été lancé), a chaque fois qu'IE est lancé, et plusieurs autres programmes pour y faire des statistiques.
Je sais qu'il y a déja des logiciel crée a cet effet, mais je voudrais le développer moi meme.
(ex: je lance MSN, ou IE ou autre => mon programme se lance et incrémente un nombre enregistré dans un fichier)

Mais je n'est aucune idée de la façon de faire pour y arriver.
Si vous savez, n'hésitez pas :p
Merci d'avance


Message édité par ptitcois le 19-10-2008 à 00:22:23
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Tu peux par exemple faire un batch aussi qui lance IE et qui incrémente une valeur dans un fichier texte.

------------------------------ Mon blog : http://blog.rownage.ch
Actualités Wii et programmation et d'autres de mes découvertes !
Répondre à r0wien

mais il faut lancer le batch, j'aimerais, que l'on lance directement l'exe en question (iexplorer.exe, wmplayer.exe, etc.) et qu'il lance mon programme, c'est possible ?

Répondre à ptitcois

Tu peux faire un programme qui scrute les processus en tâche de fond.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

ouai, mais j'ai pas trop compris les histoires d'enumProcess et tout, ...


Message édité par ptitcois le 10-10-2008 à 23:53:41
Répondre à ptitcois

up, svp vous n'auriez pas un exemple ?
J'ai recherché sur MSDN mais je comprend pas


Message édité par ptitcois le 12-10-2008 à 11:48:57
Répondre à ptitcois

Avec les fonctions Enum..., tu donnes en paramètre un nom de fonction (qui en fait est une fonction que tu écris toi-même). Cette fonction que tu écris sera appelé à chaque process de la liste.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Voila, j'ai encore un peu recherché sur google et j'ai trouvé ce code:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
// fenetre visible ou réduite
if(IsWindowVisible(hwnd))
{
// code a executer
}
else
{
// fenetre invisible
}

return TRUE;
}

int main(int argc, char *argv[])
{
EnumWindows((WNDENUMPROC) EnumWindowsProc, 0);

return 0;
}



C'est très bien, sauf que je ne sais pas ou le nom de mon processus ou fenetre pour qu'il eecute mon code lorsque cette fenetre est ouverte.
Et je ne connait (presque) rien sur les processus, si on les reconnait par leur nom, leur ID etc...

Répondre à ptitcois

Dans ta fonction d'énumération, avec GetWindowText() en donnant le HANDLE (numéro identifiant) de la fenêtre, tu obtiens son nom. Tu peux aussi utiliser FindWindow()/GetWindow() pour rechercher une fenêtre particulière.
Après il faut distinguer 2 choses:
- EnumWindow permet de gérer les fenêtres windows
http://msdn.microsoft.com/en-us/li [...] S.85).aspx
- tout ce qui touche aux processus mêmes (je ne pense pas que c'est ce que tu cherches ;) )
http://msdn.microsoft.com/en-us/li [...] S.85).aspx

Déjà en faisant afficher le nom des fenêtres, ou des process, tu trouveras probablement ce que tu cherches.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Merci, je vais peut etre paraitre un peu lourd, mais je ne connais presque rien en la matiere.
Pour le hadle, comment on connait le numero d'identifiant de la fenetre ?
C'est ça que je me demande ...

EDIT:

Déjà en faisant afficher le nom des fenêtres, ou des process, tu trouveras probablement ce que tu cherches.


Oui merci, je pense qu'avec ça c'est bon, si on met une condition pendant le listing des processus je pourrais executer mon programme, merc CRicky !


Message édité par ptitcois le 18-10-2008 à 14:17:58
Répondre à ptitcois
Tom's Guide > Forum > Programmation > RESOLU[C] ajouter un fichier au lancement d'un *.exe
Aller à :

Il y a 360 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens