I. ¿En qué período de funcionamiento de los servicios de Windows?
Los servicios de Windows se ejecutan en la sesión 0 y desde Windows Vista están solos. De hecho, con Windows XP, las aplicaciones y servicios de Windows todos se volvieron en la sesión 0.Con Windows Vista y Windows 7 ya no es el caso. Sin embargo, como los mensajes de Windows no pueden cruzar las sesiones, un servicio de Windows es ahora capaz de mostrar una interfaz de usuario con la API de Windows, que no fue el caso de Windows XP.
Para mostrar un mensaje sencillo, a continuación, utiliza el WTSSendMessage , como se muestra en el siguiente listado:
vacío
ShowMessage
(LPWSTR lpszMessage ,
lpszTitle LPWSTR)
{
dwSession DWORD =
WTSGetActiveConsoleSessionID
() ;
dwResponse DWORD =
0
;
WTSSendMessage
(WTS_CURRENT_SERVER_HANDLE ,
dwSession ,
lpszTitle ,
static_cast <
DWORD >
(( wcslen
(lpszTitle) +
1
) *
sizeof
(wchar_t)) ,
lpszMessage ,
static_cast <
DWORD >
(( wcslen
(lpszMessage) +
1
) *
sizeof
(wchar_t)) ,
0
,
0
,
y
dwResponse ,
FALSO) ;
}
Para los escenarios más complejos, el uso CreateProcessAsUser .
Para más información:
- El entrenador de Windows 7: http://msdn.microsoft.com/fr-fr/windows/msdn.coach.windows7
- Kit de desarrollo para Windows 7: http://msdn.microsoft.com/fr-fr/windows/gg398052.aspx
No hay comentarios:
Publicar un comentario