énumération des services

sajid_morad Messages postés 31 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 26 mars 2009 - 5 avril 2005 à 11:47
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 5 avril 2005 à 13:25
salut tt le monde ,
je suis entrain de développer un programme pour énumérer l ensembles des services existant dans systemes, j ai utilisé la fonction :
EnumServicesStatusEx

le probleme c que cette fonction n est pas reconu par le compilateur ainsi que l ensemble de de ses arguments de type ( SC_HANDLE + LPENUM_SERVICE_STATUS_PROCESS
+ ...) j aimerai bien avoir de l aide , et merci

8 réponses

yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
5 avril 2005 à 12:08
tu a pas du inclure ce qu'il fallait :

<?XML:NAMESPACE PREFIX MSHelp NS "http://msdn.microsoft.com/mshelp" /><MSHelp:link tabIndex=0 keywords="psdk.requirements" errorURL="../common/badjump.htm">Requirements</MSHelp:link>

Client: Included in Windows XP and Windows 2000 Professional.
Server: Included in Windows Server 2003 and Windows 2000 Server.
Unicode: Implemented as Unicode and ANSI versions.
Header: Declared in Winsvc.h; include Windows.h.
Library: Use Advapi32.lib.

Bon Courage.
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
5 avril 2005 à 12:24
juste pour être plus clair :
il te suffit de rajouter un "#include <windows.h>"
Advapi32.lib est directement intégrer au linker sur VS 2003

@+
Arnotic,
Admin CS, MVP Visual C++
0
sajid_morad Messages postés 31 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 26 mars 2009
5 avril 2005 à 12:26
j ai inclu windows.h et Winsvc.h et jai utilisé la lib Advapi32.lib.
ais ça marche encore pas
merci
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
5 avril 2005 à 12:31
pas besoin d'inclure winsvc.h windows.h suffit emplement.
donne nous les erreurs que te donne le compilateur car sinon il est difficil de t'aider sans plus d'info sur l'erreur généré !

@+
Arnotic,
Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sajid_morad Messages postés 31 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 26 mars 2009
5 avril 2005 à 12:39
salut
voilà le bout de code

<HR>

char
*pbuff;

SC_HANDLE hmngr, hsrvc;

LPENUM_SERVICE_STATUS_PROCESS pessp;

LPQUERY_SERVICE_CONFIG pqsc;

DWORD dwrest, dwcnt, dwrsmhndl, bok, count,dwerror;
dwerror dwcnt 0;

pbuff = (char*) VirtualAlloc(0, 8192, MEMDISPO, PAGE_READWRITE);

pessp = (LPENUM_SERVICE_STATUS_PROCESS) (pbuff + 1024); // 3 Ko dispo

pqsc = (LPQUERY_SERVICE_CONFIG) (pbuff + 4096); // 4 Ko dispo

hmngr = OpenSCManager(0, 0, SC_MANAGER_ENUMERATE_SERVICE | SERVICE_QUERY_CONFIG);

bok = EnumServicesStatusEx(hmngr, SC_ENUM_PROCESS_INFO, SERVICE_WIN32 | SERVICE_DRIVER,

SERVICE_STATE_ALL, (BYTE*) pessp, 3072, &dwrest, &dwcnt, &dwrsmhndl, 0);


<HR>
voilà les érreurs

error C2065: 'SC_HANDLE' : identificateur non déclaré
error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'hmngr'
error C2065: 'hmngr' : identificateur non déclaré
error C2065: 'hsrvc' : identificateur non déclaré
error C2065: 'LPENUM_SERVICE_STATUS_PROCESS' : identificateur non déclaré
error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'pessp'
error C2065: 'pessp' : identificateur non déclaré
error C2065: 'LPQUERY_SERVICE_CONFIG' : identificateur non déclaré
error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'pqsc'
error C2065: 'pqsc' : identificateur non déclaré
error C2065: 'MEMDISPO' : identificateur non déclaré
error C3861: 'pessp': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C3861: 'LPENUM_SERVICE_STATUS_PROCESS': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C3861: 'pqsc': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C3861: 'LPQUERY_SERVICE_CONFIG': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C2065: 'SC_MANAGER_ENUMERATE_SERVICE' : identificateur non déclaré
error C2065: 'SERVICE_QUERY_CONFIG' : identificateur non déclaré
error C3861: 'hmngr': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C3861: 'OpenSCManager': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C2065: 'SC_ENUM_PROCESS_INFO' : identificateur non déclaré
error C2065: 'SERVICE_STATE_ALL' : identificateur non déclaré
error C3861: 'EnumServicesStatusEx': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C3861: 'hmngr': identificateur introuvable, même avec une recherche qui dépend de l'argument
error C3861: 'pessp': identificateur introuvable, même avec une recherche qui dépend de l'argument

merci encore une fois
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
5 avril 2005 à 12:44
essaye de mettre quelques un de ces define (valeurs à vérifier) avant d'inclure <windows.h>
#define WINVER 0x0500
#define _WIN32_WINDOWS 0x0490
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0600
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
5 avril 2005 à 12:45
Tu bosses avec quel compilateur.
Car avec VS le seul fait de déclarer windows.h fait que ca fonctionne.

Si tu bosses avec Devcpp il ne doit pas avoir les bonnes lib MS et dans ce cas je ne peux pas plus d'aider.

@+
Arnotic,
Admin CS, MVP Visual C++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 avril 2005 à 13:25
ENUM SERVICES ET SUPPRESSION (WIN32)
http://www.cppfrance.com/code.aspx?id=20555

ciao...
BruNews, MVP VC++
0
Rejoignez-nous