Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

J'ai un souci !

28 réponses
Avatar
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=255

// 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

10 réponses

1 2 3
Avatar
PYT
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
Avatar
PYT
Correction le service tourne sur le compte system !
Avatar
Jean-Luc Baptiste
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" a écrit dans le message de
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



Avatar
Romain PETIT
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
Avatar
Jean-Luc Baptiste
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" a écrit dans le message de
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





Avatar
Romain PETIT
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
Avatar
Romain PETIT
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
Avatar
Fredo G-MDI
Truc con, RéseauUtilisateur() ne va pas ?????

"Jean-Luc Baptiste" a écrit dans le message de
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" a écrit dans le message de
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








Avatar
Jean-Luc Baptiste
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" a écrit dans le message de
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





Avatar
Jean-Luc Baptiste
Non, ca ne marche pas !


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



1 2 3