fkjjgfkgf
Messages postés2Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention 7 août 2006
-
2 août 2006 à 14:07
nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 2007
-
7 août 2006 à 09:41
Salut
Un problème avec l'api CreateprocesswithlogonW en Visual C++ qui permet de lancer un process avec un autre user et surtout de le faire sans privilèges au départ (comme le "runas" de windows). Tout fonctionne très bien pour la cr&ation de process elle-même:
Mon soucis est , comme le fait très bien le "runas" , que je n'arrive pas à utiliser l'environnement du user initial ( comme l'option /ENV du runas) .
Si qq as une idée , merci d'avance !
Rappels
Il ne s'agit pas de l'option "LOGON_WITH_PROFILE" présente pour simuler l'option "/PROFILE" du runas .
Et normalement , l'API "logonuser" n'est pas utile pour créer le process !
nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 200710 7 août 2006 à 09:41
Toute façcon tu utilise l'API Win32, alors la portabilité...
<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 4 août 2006 à 13:24
salut,
euh, la fonction CreateProcessWithLogon comporte un paramètre lpEnvironment à mettre effectivement à NULL mais je ne sais pas si CREATE_UNICODE_ENVIRONMENT est utile...sinon, on peut toujours utiliser CreateEnvironmentBlock...LogonUser pas utile, sauf si on veut l'environnement avec CreateEnvironmentBlock...
fkjjgfkgf
Messages postés2Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention 7 août 2006 7 août 2006 à 09:19
Avé
J'ai vu tout ça ! Et c'est bien ce paramêtre 'lpenvironnemnt" qui est à utiliser mais dans le cas que je recherche ( /ENV du runas) , c'est l'environnement du process lanceur que j'ai besoin d'utiliser donc on ne devrait pas avoir besoin de passer par CreateEnvironmentBlock ... il existe déjà !
J'ai trouvé une solution mais ça ne me parait pas très "propre" !
Ce paramêtre "lpenvironnment" peut être initialisé par "...,LPVOID (0x00010000),.."
qui est l'offset dans le PEB (process environnement block) du process courant concernant l'enviroonement !!!!
Ca fonctionne trsè bien, maintenant cest vrai que j'aurai aimé avoir une API pour me donner cette valeur mais bon ....! Et la portabilité ???