2010-11-09 49 views
3

Ceci est ma première question de Windows, je vous prie de m'excuser si cela est évident ou mal formulé.Windows XP - processus de surveillance et processus de relance en cas de panne

J'ai une station d'écran tactile qui fonctionne Opera dans Kisokmode (http://www.opera.com/support/mastering/kiosk/) ce qui est génial et fonctionne parfaitement.

Je veux être en mesure de surveiller le processus d'Opera et le relancer s'il se bloque ou est fermé.

Quelqu'un peut-il me donner des indications sur la façon dont cela peut être fait, ou y at-il un logiciel prêt à l'emploi qui peut le faire pour moi?

Répondre

5

Il y a un logiciel pour surveiller les processus et les redémarrer s'ils sont tués:
http://www.knas.se/Applications/Restarter.aspx
http://drinkprog.com/kiwi/

Juste une des façons de mettre en œuvre un tel logiciel serait:
1. Ouvrez une poignée de la cible processus qui doit être surveillé, en utilisant OpenProcess API avec SYNCHRONIZE droit d'accès.
2. Attendez infiniment sur cette poignée à l'aide des API WaitForSingleObject ou WaitForMultipleObjects.
3. Si le processus se termine ou se tue, l'attente est signalée (avec le code de retour WAIT_ABANDONED ou WAIT_OBJECT_0).
4. Fermez la poignée. Redémarrez le processus et répétez les étapes ci-dessus.

+0

+1 Merci Swatkat. Ces programmes sont géniaux, mais les deux se bloquent en essayant de démarrer sous Windows XP. La connaissance du codage pour les machines Windows est nulle, donc coder quelque chose est à peu près hors de question. –

+1

Knas Restarter (premier lien dans le message ci-dessus) a bien fonctionné dans mon système (XP SP3 32bit). L'erreur "L'application n'a pas réussi à s'initialiser correctement" s'est-elle produite lors du démarrage de Knas Restarter? Si c'est le cas, vous devez installer le framework .NET. Vous pouvez l'obtenir ici: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7 – swatkat

+0

J'ai eu cette erreur et installé .Net 4 - Je reçois maintenant " Impossible de trouver une version de l'environnement d'exécution pour exécuter cette application " –