Comment faire pour exécuter mon programme avant de se déconnecter sur windows XP?
Je suis à la recherche d'une inversion de la version de "RunOnceEx".
RunOnceEx n'exécutez un programme, avant le shell de l'utilisateur(ordinateur de bureau&de la barre des tâches) commencer. La connexion progrès ne va pas continuer avant la runonceex complète.
Je veux faire exactement la même chose mais à l'utilisateur de se déconnecter.
Quand elle/il déconnexion, tout programme en cours d'exécution de l'arrêt, laissant shell de bureau&de la barre des tâches), puis ""je souhaite que mon programme va être exécuter ce moment"", enfin de déconnexion.
Je pense que c'est possible parce que le "mobsync.exe" c'est ce que fait. Mais je ne trouve pas où et comment le faire.
@VonC dit, justr ajouter certaines entrées de registre. comment est dur!
Vous êtes à la recherche d'une solution en C/C++ ou .NET? Aussi, mobsync.exe est un programme de Microsoft et plus que probable utilise les entrées de Registre comme toutes les réponses que vous refusez.
OriginalL'auteur Dennis C | 2008-11-27
Vous devez vous connecter pour publier un commentaire.
Pour exécuter ce uniquement pour l'utilisateur actuel, vous pouvez utiliser WMI pour obtenir une information lorsqu'un arrêt/déconnexion se produit.
Soit vous écrire un petit C# (ou toute autre langue peut utiliser WMI) application ou un script vbs pour écouter la Win32_ComputerShutdownEvent événement WMI.
Un exemple d'application en C# peuvent être trouvés ici dans cette question: Obtenez de Journal d'événement de système
OriginalL'auteur Dominik Fretz
Avertissement, comme l'a dit ici,
gpedit.msc
vous permettra de configurer un script de fermeture de session pour tous utilisateurs.Si vous avez besoin que le script uniquement pour un utilisateur, vous devez le déclarer directement dans le registre, à la fois dans
HKCU
etHKLM
.OriginalL'auteur VonC
trouvé dans le premier résultat sur google pour me
Pour exécuter un programme, vous pouvez créer un script à exécuter et utiliser la stratégie de groupe pour l'appliquer.
Dans l'Éditeur de Stratégie de Groupe accédez à Configuration de l'Utilisateur-->Paramètres Windows-->Scripts (ouverture/Fermeture de session)
plus d'informations ici
OriginalL'auteur Fredou
Si vous voulez un programme en cours d'exécution pour exécuter du code sur la fermeture de session, alors vous devriez accrocher le
WM_QUERYENDSESSION
message et de chercher unlParam
valeur deENDSESSION_LOGOFF
(0x80000000).Il est important de tester cette
lParam
valeur parce que les autres indiquent un "forcé" c'est à dire votre processus peut être tué avant que votre code est même autorisé à s'exécuter. En fait, la plupart d'arrêt/session-fin des messages sont uniquement destinées à vous donner une occasion de courir à la dernière minute de nettoyage de code et ne sont pas sûr de répondre avec long-actions en cours d'exécution; mais cette combinaison particulière devrait être OK.Remarque: je n'ai jamais essayé en fait exécuter un processus séparé en réponse à la
WM_QUERYENDSESSION
message. Il est possible que la fenêtre gestionnaire de refuser cela, comme il le fait lors de l'arrêt. Essayez et vous verrez, je suppose.Si vous êtes dans un .NET de l'environnement (vous n'avez pas à spécifier), un moyen plus rapide est d'ajouter un gestionnaire d'événements pour l'
Microsoft.Win32.SystemEvents.SessionEnding
événement.OriginalL'auteur Aaronaught
Ce que vous avez besoin est une implémentation de GINA. Vous pouvez exécuter vos commandes personnalisées dans WlxIsLogoffOk fonction, qui est appelée lorsque l'utilisateur lance une fermeture de session
Une fois que vous créez le bon GINA dll vous pouvez vous inscrire ici:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\@GinaDLL
Voici une application qui peut s'adapter à vos besoins (il fournit une Déconnexion de la clé de registre où vous pouvez spécifier votre commande):
http://wwwthep.physik.uni-mainz.de/~frink/newgina_pre09/readme.html
merci! Je me demandais moi-même :/
+1 parce que c'est légitime de répondre, mais je pense que la mise en œuvre d'une dll GINA pour ce que cette personne veut accomplir, c'est moyen sur le dessus.
OriginalL'auteur Pratap .R
Comme VonC et DTC déjà mentionné, l'Éditeur de Stratégie de Groupe est juste une autre façon de manipuler la base de registre.
Juste faire avec gpedit les changements (dans Userconfig - Paramètres Windows - Scripts) que vous aimez et ensuite prendre un coup d'oeil dans le registre à
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts]
pour savoir comment vous pouvez le faire directement.
Aussi sur mon PC (accroché à un domaine) est un dossier caché
C:\WINDOWS\System32\GroupPolicy
avec des sous-dossiers pour l'utilisateur et la machine. Les deux, d'avoir des sous-dossiers supplémentaires appelé à l'Arrêt et de Démarrage. Peut-être que vous pouvez également utiliser ceux-ci.OriginalL'auteur Oliver
Si vous avez besoin de quelque chose de simple et de travail pour un seul (ou toutes les) utilisateur vous pouvez créer une application simple en C++ ou C# par exemple.
Le plus simple est d'avoir un C# dans le bac (en ajoutant simplement le plateau de la composante de la forme) et de vous inscrire et de gestionnaire d'événements pour l' FormClosing événement. Ce serait ressembler à ceci:
De sorte que votre application sera en route avec Windows ou avec l'utilisateur. Il va attendre (à l'aide d'un peu de mémoire) et de faire quelque chose lorsque le système s'arrête, ou l'utilisateur de se déconnecter, etc (en cochant "CloseReason" ci-dessus).
OriginalL'auteur Wernight