.net - kørende brugergrænseflade med windows service

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg planlægger at køre en lancering/overvåge en brugergrænseflade applikation ved hjælp af en windows service (skrevet i C #). Med 'Tillad tjeneste at interagere med desktop' tjekket. dette virker fint med windows xp, men med windows 7 en pop er vist som nedenfor


Indtast billedbeskrivelse her


og når jeg klikker på se meddelelsen, blinker hele skærmen ud, med kun brugerinterface, der vises, som vist nedenfor.


Indtast billedbeskrivelse her


er der nogen måde at få det til at fungere uden at beskeden bliver vist og skærmen bliver tom.


kommentarer/forslag værdsat.


Hilsen
DEE

Bedste reference


'Tillad tjeneste at interagere med desktop' er en arv option, der nu er stærkt modløs, og selv om den eksisterer, forventes det ikke at fungere i Windows Vista og opefter.


Du skal læse lidt om hvorfor dette er tilfældet i dette andet så svar:

Tillad tjeneste at interagere med skrivebordet i Windows


Så søg efter de alternativer, der diskuteres i svaret her:

Alternativ til 'Tillad tjeneste at interagere med skrivebordet'?


En anden diskussion udenfor SO:

http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/f8f91e8f-5954-43a7-8bc4-80ed2ff1e3b1/[3]

Andre referencer 1


I Vista og senere kan tjenester ikke interagere med skrivebordet. Tjenesterne kører under det såkaldte session 0 isolation . Hvad du forsøger er simpelthen umuligt.


Du skal omskrive din ansøgning, så brugergrænsefladen ligger i et standard Windows-program, der kører på det indloggede brugeres skrivebord. Denne brugergrænseflade kan kommunikere med tjenesten uanset hvilken IPC-mekanisme du foretrækker.