Terminer un logiciel [Résolu]

Signaler
Messages postés
2
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
26 janvier 2007
-
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
-
Bonjour,
Bon je ne sait pas si je poste au bon endroit donc desole si je me trompe mais je ne connait pas tres bien le site.
J'essaie de me faire une petite application console qui me permeterai une fois ouvert de fermer automatiquement un processus qui se nomme exactement MSACCESS.EXE et ensuite la console se fermerai au bout de 30 sec le but etant de lancé l'application a partir du planificateur de tache.
Le probleme ce que je ne connait pas encore assez bien le C++ (je n'en suis qu'au objet) donc si quelqu'un pourrait m'aider ou me conseiller ça serait vraiment sympa merci.
J'aurais besoin de savoir quelle sont les commandes en C++ pour :
-Trouver le logiciel a stoper.
-Stoper le logiciel de n'importe qu'elle façon (sans faire un reset si possible^^).
-Et comment  faire disparaitre la console a la fin des 30 sec

Bon je suis consient que j'en demande beaucoup mais pour le moment je m'y connait pas beaucoup.
Je suis un peu pressé  donc si possible  sans vouloir trop en demander bien sur.
merci beaucoup d'avance

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Si console pas utile, comme d'hab ne pas en faire.

Aucun besoin d'objets et autres joujours du C++, un module concis en C fera parfaitement l'affaire.

Les langages, C/C++ ou autres, ne connaissent rien des fonctions du système hote, il faut donc appeler les fonctions API du système.

Exemple parmi tant d'autres:
http://www.cppfrance.com/code.aspx?id=17658

ciao...
BruNews, MVP VC++
Messages postés
2
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
26 janvier 2007

Bon j'ai pas tout compris ^^ juste que j'avais pas le niveau pour le moment
donc pour cloturer le sujet a moins que d'autre personnes puissent m'aider je laisse ça au cas ou :

BruNews:
Ce que tu demandes est de la prog système, il est bien clair qu'un débutant ne peut pas commencer par là.
Faut en 1er maitriser le C, ensuite étudier Richter (mais seulement ensuite):
http://brunews.com/brunews/download/JR4.zip
http://brunews.com/brunews/download/JR4Sources.zip

voila merci pour tout
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
#include <windows.h>
#include   //LIB: psapi.lib ou libpsapi.a



//---------------------------------------------------------------
BOOL KillProcess(char *szProcName)
{
  int i;
  HANDLE hProc; 
  HMODULE hMod;
  BOOL bRetVal = FALSE;
  char szNameProc[MAX_PATH];       
  DWORD dwProcList[1024], dwProcCount, dwNeeded;



  if(!EnumProcesses(dwProcList, sizeof(dwProcList), &dwNeeded))
    return bRetVal;
   
  dwProcCount = dwNeeded / sizeof(DWORD);



  for(i = 0; i < dwProcCount; i++)
  {
    hProc = OpenProcess(PROCESS_QUERY_INFORMATION|
                        PROCESS_VM_READ|
                        PROCESS_TERMINATE,
                        FALSE, dwProcList[i]);
    if(hProc)                       
    {
      if(EnumProcessModules(hProc, &hMod, sizeof(hMod), &dwNeeded))
      {
        GetModuleBaseName(hProc, hMod, szNameProc, MAX_PATH);
       
        if(!lstrcmpi(szNameProc, szProcName))
          bRetVal = TerminateProcess(hProc, 0);
      }
      CloseHandle(hProc);
    }
  }
  return bRetVal;
}



//---------------------------------------------------------------
int main(void)
{
  KillProcess("MSACCESS.EXE");
  //Sleep(30000);
  return 0;
}