J'ai un souci !

Le
Jean-Luc Baptiste
Bonjour,

J'ai un programme qui fonctionne en temps que service, j'essaye de recupérer
le compte utilisateur qui à ouvert la session avec le code suivant :

lpbuffer est une chaîne ASCIIZ de 256
size est un entier%5

// on récupere le compte utilisateu
SI AppelDLL32("advapi32.dll","GetUserNameA" , &lpbuffer, &size) ALORS
leUser=lpbuffer
FIN

Ce code fonctionne parfaitement dans un applicatif mais lorsque qu'il est
inclu dans un service il renvoit System comme compte. Quelqu'un connait il
la commande qui permet de récupérer le nom du compte qui a ouvert la session
via un service ?

Bien cordialement.

Jean-Luc Baptiste
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
PYT
Le #19885871
Jean-Luc Baptiste a écrit :
Bonjour,

J'ai un programme qui fonctionne en temps que service, j'essaye de
recupérer le compte utilisateur qui à ouvert la session avec le code
suivant :

lpbuffer est une chaîne ASCIIZ de 256
size est un entier%5

// on récupere le compte utilisateu
SI AppelDLL32("advapi32.dll","GetUserNameA" , &lpbuffer, &size) ALORS
leUser=lpbuffer
FIN

Ce code fonctionne parfaitement dans un applicatif mais lorsque qu'il
est inclu dans un service il renvoit System comme compte. Quelqu'un
connait il la commande qui permet de récupérer le nom du compte qui a
ouvert la session via un service ?

Bien cordialement.

Jean-Luc Baptiste


Je pense qu'un service tourne toujours sur le compte service, à moins de
le lancer explicitement sous un autre compte.

PYT
PYT
Le #19885861
Correction le service tourne sur le compte system !
Jean-Luc Baptiste
Le #19885971
Oui effectivement un service est toujours sur le compte system car il est
normalement lancé avant une connection. Ce que je voudrais c'est connaitre
le compte de l'utilisateur qui se connecte à partir du service que j'ai
créé.

"Jean-Luc Baptiste" news:4a798187$0$23465$
Bonjour,

J'ai un programme qui fonctionne en temps que service, j'essaye de
recupérer le compte utilisateur qui à ouvert la session avec le code
suivant :

lpbuffer est une chaîne ASCIIZ de 256
size est un entier%5

// on récupere le compte utilisateu
SI AppelDLL32("advapi32.dll","GetUserNameA" , &lpbuffer, &size) ALORS
leUser=lpbuffer
FIN

Ce code fonctionne parfaitement dans un applicatif mais lorsque qu'il est
inclu dans un service il renvoit System comme compte. Quelqu'un connait il
la commande qui permet de récupérer le nom du compte qui a ouvert la
session via un service ?

Bien cordialement.

Jean-Luc Baptiste



Romain PETIT
Le #19886061
Jean-Luc Baptiste a formulé ce mercredi :
Oui effectivement un service est toujours sur le compte system car il est
normalement lancé avant une connection.



Non pas forcément, il peut être lancé avec un user local ou du domaine,
indépendamment d'une session ouverte.
(voir propriété du service >> Connexion)

Ce que je voudrais c'est connaitre
le compte de l'utilisateur qui se connecte à partir du service que j'ai
créé.



Là je ne comprend pas...
- soit le service est actif avant toute ouverture de session et tu peux
récupérer ses propriétés de connexion (le nom de user qui est utilisé
pour le bon fonctionnement du service, donc SYSTEM ou un user spécifié)
- soit tu veux enumérer, depuis ton programme qui tourne en tant que
service, les sessions ouvertes sur la machine.
- soit c'est un service que tu lances après l'ouverture de session
(mais alors pourquoi le lancer en tant que service ?)

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Jean-Luc Baptiste
Le #19886231
C'est simple :

Je suis en train de créer un petit logiciel qui "tourne" en temps que
service. Ce logiciel est un soft de contrôle parental qui est chargé de
supprimer des programmes suivant une liste préétablie en fonction des
comptes utilisateurs.
Si Toto se connecte le service doit identifier qui se connecte pour pouvoir
empecher emule de fonctionner si ce soft est dans la blacklist à toto.

A l'heure actuelle il m'est impossible de savoir quel est le compte qui a
ouvert une session, le seul retour que j'ai c'est system et non toto


Voilà j'espère etre plus clair dans ma demande ;-))


"Romain PETIT" news:
Jean-Luc Baptiste a formulé ce mercredi :
Oui effectivement un service est toujours sur le compte system car il est
normalement lancé avant une connection.



Non pas forcément, il peut être lancé avec un user local ou du domaine,
indépendamment d'une session ouverte.
(voir propriété du service >> Connexion)

Ce que je voudrais c'est connaitre
le compte de l'utilisateur qui se connecte à partir du service que j'ai
créé.



Là je ne comprend pas...
- soit le service est actif avant toute ouverture de session et tu peux
récupérer ses propriétés de connexion (le nom de user qui est utilisé pour
le bon fonctionnement du service, donc SYSTEM ou un user spécifié)
- soit tu veux enumérer, depuis ton programme qui tourne en tant que
service, les sessions ouvertes sur la machine.
- soit c'est un service que tu lances après l'ouverture de session (mais
alors pourquoi le lancer en tant que service ?)

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup





Romain PETIT
Le #19886351
Jean-Luc Baptiste a formulé ce mercredi :
C'est simple :


[...]
Voilà j'espère etre plus clair dans ma demande ;-))



Ok, donc tu veux enumérer, depuis ton programme qui tourne en tant que
service, les sessions ouvertes sur la machine.

http://msdn.microsoft.com/en-us/library/aa375400(VS.85).aspx

Un article assez détaillé.
http://www.codeproject.com/KB/system/logonsessions.aspx?msg%70479

Bref, pas simple.

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Romain PETIT
Le #19886341
Jean-Luc Baptiste a formulé ce mercredi :
C'est simple :


[...]
Voilà j'espère etre plus clair dans ma demande ;-))



Ok, donc tu veux enumérer, depuis ton programme qui tourne en tant que
service, les sessions ouvertes sur la machine.

http://msdn.microsoft.com/en-us/library/aa375400(VS.85).aspx

Un article assez détaillé.
http://www.codeproject.com/KB/system/logonsessions.aspx

Bref, pas si simple.

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Fredo G-MDI
Le #19886451
Truc con, RéseauUtilisateur() ne va pas ?????

"Jean-Luc Baptiste" news: 4a7994c2$0$17751$
C'est simple :

Je suis en train de créer un petit logiciel qui "tourne" en temps que
service. Ce logiciel est un soft de contrôle parental qui est chargé de
supprimer des programmes suivant une liste préétablie en fonction des
comptes utilisateurs.
Si Toto se connecte le service doit identifier qui se connecte pour
pouvoir empecher emule de fonctionner si ce soft est dans la blacklist à
toto.

A l'heure actuelle il m'est impossible de savoir quel est le compte qui a
ouvert une session, le seul retour que j'ai c'est system et non toto


Voilà j'espère etre plus clair dans ma demande ;-))


"Romain PETIT" news:
Jean-Luc Baptiste a formulé ce mercredi :
Oui effectivement un service est toujours sur le compte system car il
est
normalement lancé avant une connection.



Non pas forcément, il peut être lancé avec un user local ou du domaine,
indépendamment d'une session ouverte.
(voir propriété du service >> Connexion)

Ce que je voudrais c'est connaitre
le compte de l'utilisateur qui se connecte à partir du service que j'ai
créé.



Là je ne comprend pas...
- soit le service est actif avant toute ouverture de session et tu peux
récupérer ses propriétés de connexion (le nom de user qui est utilisé
pour le bon fonctionnement du service, donc SYSTEM ou un user spécifié)
- soit tu veux enumérer, depuis ton programme qui tourne en tant que
service, les sessions ouvertes sur la machine.
- soit c'est un service que tu lances après l'ouverture de session (mais
alors pourquoi le lancer en tant que service ?)

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup








Jean-Luc Baptiste
Le #19886441
Non, pas si simple !

Mais je suis sur une piste, je me rends compte qui si le service lance un
exe celui-ci est joué dans l'environnement utilisateur et peut donc me
renvoyer l'username de la personne loguée.

Merci pour les recherches



"Romain PETIT" news:
Jean-Luc Baptiste a formulé ce mercredi :
C'est simple :


[...]
Voilà j'espère etre plus clair dans ma demande ;-))



Ok, donc tu veux enumérer, depuis ton programme qui tourne en tant que
service, les sessions ouvertes sur la machine.

http://msdn.microsoft.com/en-us/library/aa375400(VS.85).aspx

Un article assez détaillé.
http://www.codeproject.com/KB/system/logonsessions.aspx

Bref, pas si simple.

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup





Jean-Luc Baptiste
Le #19886581
Non, ca ne marche pas !


"Fredo G-MDI" news:4a799be0$0$22634$
Truc con, RéseauUtilisateur() ne va pas ?????



Publicité
Poster une réponse
Anonyme