2009-03-17 8 views
3

Wir haben einen Dienst, der eine Anwendung startet, die mit dem angemeldeten Benutzer interagieren wird. Die Anwendung, die wir starten, wird immer als ein bestimmter Benutzer ausgeführt, für den wir die Anmeldeinformationen haben. Wir tun was nötig ist (aktive Sitzungs-ID, logonUser, Token anpassen) und starten die Anwendung mit CreateProcessAsUser im winsta0 \ Default-Desktop.Ghosts Fenster, wenn Farbschema ist nicht Aero auf Vista

Alles funktioniert gut, wenn das Farbschema des Vista PC Aero ist - aber unter den grundlegenden und klassischen Farbschemata wird die Anwendung noch gestartet, aber keines der Fenster ist gemalt. Es gibt eine neue Aufgabe in der Taskleiste. Wenn Sie ein Fenster minimieren, das im Hintergrund und im Vollbildmodus war, dann können Sie die Kontur unserer Geister-App sehen - Sie können sie bewegen, sie reagiert auf Tastatur-/Mauseingaben ganz gut. Es ist nur unsichtbar, nicht gemalt.

Hat jemand eine Idee von was könnte passieren? Warum mit dem Aero Farbschema ist es in Ordnung, aber nicht in den anderen?

Vielen Dank für jede Hilfe,

Frank

Antwort

1

Es ziemlich komisch klingt - Sie auf einem tatsächlichen Fehler in Vista getroffen haben, da es unwahrscheinlich viele andere Leute versucht haben scheint, was Sie tun.

Zuerst würde ich sicherstellen, dass das Problem dieses Verhalten nicht aufweist, wenn es vom angemeldeten Benutzer direkt ausgeführt wird, nur um festzustellen, ob es sich um ein Aero/Classic-Problem oder ein Winstation-Problem handelt.

Zweitens würde ich mit einem Debugger an den Prozess anhängen und sicherstellen, dass die Nachrichtenschleife verschiedene bedeutende Nachrichten wird immer, insbesondere WM_PAINT :)

Aber das ist dunkel genug, dass Ihre einzige Option eine bezahlte zu öffnen sein kann Support-Problem mit Microsoft.

0

Es kann auch ein Problem geben, wenn Sie benutzerdefinierte Steuerelemente in Ihrem Formular haben (oder Ihr Formular selbst wird von Benutzern gezeichnet). Wenn Sie das Formular nur dann malen, wenn Application.RenderWithVisualStyles auf true festgelegt ist, wird dieses Verhalten möglicherweise angezeigt. Stellen Sie also sicher, dass Sie auch Inhalte ohne diese Stile rendern. Weitere Informationen dazu, wie Ihr Formular aussieht/sich verhält/etc, sind willkommen.

+0

Warum nehmen Sie an, dass dies .NET WinForms ist? – Aardvark

+0

Weil ich ähnliches Verhalten dort gesehen habe, aber es ist immer noch nur eine Annahme. – Scoregraphic