Bonjour,
Je voudrais pouvoir lancer une application automatiquement, juste après le
winlogon d'un utilisateur,
et qu'elle se termine lors avec un logoff.
Par contre je ne veux pas que l'utilisateur ait le droit de tuer le process
correspondant à l'application.
Est-ce qu'il y a une solution autre que lancer l'application comme un
service Windows ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian ASTOR
Galileo wrote:
Je voudrais pouvoir lancer une application automatiquement, juste après le winlogon d'un utilisateur, et qu'elle se termine lors avec un logoff. Par contre je ne veux pas que l'utilisateur ait le droit de tuer le process correspondant à l'application. Est-ce qu'il y a une solution autre que lancer l'application comme un service Windows ?
Logon, pas Winlogon... Les clés "Run" se lancent après le Logon, les clés "RunServices" avant. Enlever PROCESS_TERMINATE si on veut empêcher un kill de base (TerminateProcess() par Task Manager) (par un utilisateur de base, donc pas de SE_DEBUG_NAME) pour n'importe quelle appli.
Galileo wrote:
Je voudrais pouvoir lancer une application automatiquement, juste après le
winlogon d'un utilisateur,
et qu'elle se termine lors avec un logoff.
Par contre je ne veux pas que l'utilisateur ait le droit de tuer le process
correspondant à l'application.
Est-ce qu'il y a une solution autre que lancer l'application comme un
service Windows ?
Logon, pas Winlogon...
Les clés "Run" se lancent après le Logon, les clés "RunServices" avant.
Enlever PROCESS_TERMINATE si on veut empêcher un kill de base
(TerminateProcess() par Task Manager) (par un utilisateur de base, donc
pas de SE_DEBUG_NAME) pour n'importe quelle appli.
Je voudrais pouvoir lancer une application automatiquement, juste après le winlogon d'un utilisateur, et qu'elle se termine lors avec un logoff. Par contre je ne veux pas que l'utilisateur ait le droit de tuer le process correspondant à l'application. Est-ce qu'il y a une solution autre que lancer l'application comme un service Windows ?
Logon, pas Winlogon... Les clés "Run" se lancent après le Logon, les clés "RunServices" avant. Enlever PROCESS_TERMINATE si on veut empêcher un kill de base (TerminateProcess() par Task Manager) (par un utilisateur de base, donc pas de SE_DEBUG_NAME) pour n'importe quelle appli.
Galileo
Merci Christian. Est-ce que je peux à la fois trapper PROCESS_TERMINATE et être sur de pouvoir fermer "proprement" l'application (fichiers ouverts, flush des buffers, etc...) si une fermeture de Windows se produit pendant la session ? Lors d'une fermeture de Windows, est-ce que d'autres signaux que PROCESS_TERMINATE sont envoyés aux applications, avec attente de la réponse ? En gros, je veux empêcher l'utilisateur de fermer l'application, mais que le système puisse continuer à la fermer normalement, et non pas uniquement de manière "brutale".
Merci Christian.
Est-ce que je peux à la fois trapper PROCESS_TERMINATE et être sur de
pouvoir fermer "proprement" l'application (fichiers ouverts, flush des
buffers, etc...) si une fermeture de Windows se produit pendant la session ?
Lors d'une fermeture de Windows, est-ce que d'autres signaux que
PROCESS_TERMINATE sont envoyés aux applications, avec attente de la réponse
?
En gros, je veux empêcher l'utilisateur de fermer l'application, mais que le
système puisse continuer à la fermer normalement, et non pas uniquement de
manière "brutale".
Merci Christian. Est-ce que je peux à la fois trapper PROCESS_TERMINATE et être sur de pouvoir fermer "proprement" l'application (fichiers ouverts, flush des buffers, etc...) si une fermeture de Windows se produit pendant la session ? Lors d'une fermeture de Windows, est-ce que d'autres signaux que PROCESS_TERMINATE sont envoyés aux applications, avec attente de la réponse ? En gros, je veux empêcher l'utilisateur de fermer l'application, mais que le système puisse continuer à la fermer normalement, et non pas uniquement de manière "brutale".
Christian ASTOR
Galileo wrote:
Est-ce que je peux à la fois trapper PROCESS_TERMINATE et être sur de pouvoir fermer "proprement" l'application (fichiers ouverts, flush des buffers, etc...) si une fermeture de Windows se produit pendant la session ? Lors d'une fermeture de Windows, est-ce que d'autres signaux que PROCESS_TERMINATE sont envoyés aux applications, avec attente de la réponse ? En gros, je veux empêcher l'utilisateur de fermer l'application, mais que le système puisse continuer à la fermer normalement, et non pas uniquement de manière "brutale".
PROCESS_TERMINATE n'est pas un signal (WM_QUERYENDSESSION est un des signaux de fin de session), c'est un droit d'accès. (mais SE_DEBUG_NAME a été rajouté depuis XP pour le TaskMgr (Admin)) On peut aussi cacher le process, mais + difficle sous NT/2K/... Sinon hook API, difficile "from scratch", pas trop avec tout ce qu'il y a sur le Web...
Galileo wrote:
Est-ce que je peux à la fois trapper PROCESS_TERMINATE et être sur de
pouvoir fermer "proprement" l'application (fichiers ouverts, flush des
buffers, etc...) si une fermeture de Windows se produit pendant la session ?
Lors d'une fermeture de Windows, est-ce que d'autres signaux que
PROCESS_TERMINATE sont envoyés aux applications, avec attente de la réponse
?
En gros, je veux empêcher l'utilisateur de fermer l'application, mais que le
système puisse continuer à la fermer normalement, et non pas uniquement de
manière "brutale".
PROCESS_TERMINATE n'est pas un signal (WM_QUERYENDSESSION est un des
signaux de fin de session), c'est un droit d'accès.
(mais SE_DEBUG_NAME a été rajouté depuis XP pour le TaskMgr (Admin))
On peut aussi cacher le process, mais + difficle sous NT/2K/...
Sinon hook API, difficile "from scratch", pas trop avec tout ce qu'il y
a sur le Web...
Est-ce que je peux à la fois trapper PROCESS_TERMINATE et être sur de pouvoir fermer "proprement" l'application (fichiers ouverts, flush des buffers, etc...) si une fermeture de Windows se produit pendant la session ? Lors d'une fermeture de Windows, est-ce que d'autres signaux que PROCESS_TERMINATE sont envoyés aux applications, avec attente de la réponse ? En gros, je veux empêcher l'utilisateur de fermer l'application, mais que le système puisse continuer à la fermer normalement, et non pas uniquement de manière "brutale".
PROCESS_TERMINATE n'est pas un signal (WM_QUERYENDSESSION est un des signaux de fin de session), c'est un droit d'accès. (mais SE_DEBUG_NAME a été rajouté depuis XP pour le TaskMgr (Admin)) On peut aussi cacher le process, mais + difficle sous NT/2K/... Sinon hook API, difficile "from scratch", pas trop avec tout ce qu'il y a sur le Web...
Thierry
[Copie en courrier vu la date du message]
Bonjour,
Galileo a écrit :
Bonjour, Je voudrais pouvoir lancer une application automatiquement, juste après le winlogon d'un utilisateur, et qu'elle se termine lors avec un logoff. Par contre je ne veux pas que l'utilisateur ait le droit de tuer le process correspondant à l'application. Est-ce qu'il y a une solution autre que lancer l'application comme un service Windows ?
Regarde du cote de Winlogon notify : tu t'"enregistres" via la BDR aupres de winlogon pour recevoir des evanements (logon, logoff, screensave, ...) Y'a un sample sur codeproject qui fait exactement ce que tu veux : http://www.codeproject.com/system/winlogon_notification_package.asp De mémoire ca ressemble beaucoup au sample du MSDN. Le processus ne pourra pas être buté par l'utilisateur, puisque lancé par le système... (sauf avec droits admin).
-- « Always look at the bright side of the life... »
[Copie en courrier vu la date du message]
Bonjour,
Galileo a écrit :
Bonjour,
Je voudrais pouvoir lancer une application automatiquement, juste
après le winlogon d'un utilisateur,
et qu'elle se termine lors avec un logoff.
Par contre je ne veux pas que l'utilisateur ait le droit de tuer le
process correspondant à l'application.
Est-ce qu'il y a une solution autre que lancer l'application comme un
service Windows ?
Regarde du cote de Winlogon notify : tu t'"enregistres" via la BDR aupres
de winlogon pour recevoir des evanements (logon, logoff, screensave, ...)
Y'a un sample sur codeproject qui fait exactement ce que tu veux :
http://www.codeproject.com/system/winlogon_notification_package.asp
De mémoire ca ressemble beaucoup au sample du MSDN.
Le processus ne pourra pas être buté par l'utilisateur, puisque lancé par
le système... (sauf avec droits admin).
--
« Always look at the bright side of the life... »
Bonjour, Je voudrais pouvoir lancer une application automatiquement, juste après le winlogon d'un utilisateur, et qu'elle se termine lors avec un logoff. Par contre je ne veux pas que l'utilisateur ait le droit de tuer le process correspondant à l'application. Est-ce qu'il y a une solution autre que lancer l'application comme un service Windows ?
Regarde du cote de Winlogon notify : tu t'"enregistres" via la BDR aupres de winlogon pour recevoir des evanements (logon, logoff, screensave, ...) Y'a un sample sur codeproject qui fait exactement ce que tu veux : http://www.codeproject.com/system/winlogon_notification_package.asp De mémoire ca ressemble beaucoup au sample du MSDN. Le processus ne pourra pas être buté par l'utilisateur, puisque lancé par le système... (sauf avec droits admin).
-- « Always look at the bright side of the life... »