2009-03-17 8 views
3

Nous avons un service qui lance une application qui va interagir avec l'utilisateur connecté. L'application que nous lançons est toujours exécutée en tant qu'utilisateur spécifique pour lequel nous avons les informations d'identification. Nous faisons ce qui est nécessaire (obtenir l'identifiant de session actif, logonUser, ajuster le jeton) et lancer l'application avec CreateProcessAsUser dans le bureau winsta0 \ Default. Tout fonctionne correctement si le jeu de couleurs du PC Vista est Aero - mais sous les couleurs de base et classiques, l'application est toujours lancée mais aucune fenêtre n'est peinte. Il y a une nouvelle tâche dans la barre des tâches. Si vous minimisez une fenêtre qui était en arrière-plan et en plein écran, alors vous pouvez voir le contour de notre application fantôme - vous pouvez le déplacer, il va répondre à l'entrée du clavier/souris très bien. C'est juste invisible, pas peint.Fenêtres fantômes lorsque les couleurs ne sont pas Aero sur Vista

Est-ce que quelqu'un a une idée de ce qui pourrait se passer? Pourquoi avec le système de couleurs Aero c'est bien mais pas dans les autres?

Merci pour toute aide,

Frank

Répondre

1

Il semble assez bizarre - vous avez pu frapper sur un bug réel dans Vista, car il semble peu probable que beaucoup d'autres personnes ont essayé ce que vous faites. Tout d'abord, je m'assurerais que le problème ne présente pas ce problème lorsqu'il est exécuté directement par l'utilisateur connecté, juste pour le déterminer s'il s'agit d'un problème Aero/Classic ou d'un problème d'installation.

En second lieu je joins au processus avec un débogueur et assurez-vous que la boucle de message passe différents messages importants, en particulier WM_PAINT :)

Mais cela suffit obscure que votre seule option peut être d'ouvrir un payé problème de support avec Microsoft.

0

Il peut également y avoir un problème si vous avez des contrôles dessinés par l'utilisateur sur votre formulaire (ou si votre formulaire lui-même est dessiné par l'utilisateur). Si vous peignez le formulaire uniquement si Application.RenderWithVisualStyles a la valeur true, vous pouvez voir ce comportement. Donc, assurez-vous également de rendre les choses sans ces styles. Plus d'informations comment votre forme ressemble/se comporte/etc serait appréciée.

+0

Pourquoi supposez-vous qu'il s'agit de .NET WinForms? – Aardvark

+0

Parce que j'ai vu un comportement similaire là-bas, mais ce n'est encore qu'une hypothèse. – Scoregraphic

Questions connexes