Salut, je faisais une usurpation d’identité en utilisant le LogonUser
comme il a été expliqué à de nombreux endroits.
(J’ai utilisé la grande bibliothèque de classe introduite ici , mais le principe semble être le même partout sur le Web).
J’ai réussi à imiter et à aller dans un endroit que mon utilisateur “normal” ne peut pas. Mais lorsque j’essaie d’ouvrir par programmation un fichier doc
, ou un fichier txt
ou autre, à l’aide de Process.Start
, le Process.Start
erreur Process.Start
.
“Il n’y a pas assez de mémoire ou d’espace disque pour exécuter Word.”
- WebBrowser – impossible de récupérer et de définir des éléments HTML dans une page .asp appelée
- Liaison WPF au dictionnaire avec x: Nom comme clé
- Pourquoi une exception s’est produite lorsque la méthode dans le service Web renvoie Arraylist en c #?
- Convertir le pointeur en option de boucle en C #
- Est-ce que .NET définit des valeurs HRESULT communes?
Je peux commencer word par programmation en utilisant mon utilisateur normal, mais ensuite, lorsque j’essaie d’ouvrir le fichier spécifique par programmation en utilisant l’autre utilisateur, je reçois:
“access refusé”.
Par ailleurs, lorsque je me connecte manuellement à mon ordinateur, cet autre utilisateur dispose des permissions nécessaires pour ouvrir le fichier.
Cela sent un problème avec ProcessStartInfo.LoadUserProfile. La valeur par défaut est false, avec pour effet secondaire que le processus démarré verra les parameters de registre HKCU de votre compte, pas ceux avec l’identité. Les programmes Office ne vont pas aimer ça.
Attention, vous devrez peut-être également définir UseShellExecute sur false pour que ce paramètre soit effectif. Cela entravera votre capacité à démarrer Word en passant simplement un fichier .doc comme nom de fichier. Vous devrez utiliser “winword.exe” à la place.