Terminer un logiciel

Résolu
VelveTear Messages postés 2 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 26 janvier 2007 - 25 janv. 2007 à 21:38
cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011 - 26 janv. 2007 à 14:51
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 janv. 2007 à 21:49
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++
3
VelveTear Messages postés 2 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 26 janvier 2007
26 janv. 2007 à 10:30
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
3
cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011
26 janv. 2007 à 14:51
#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;
}
3
Rejoignez-nous