J'ai plusieurs applications qui font partie d'une suite d'outils que divers développeurs de notre studio utilisent. ces applications sont principalement des applications en ligne de commande qui ouvrent un shell cmd DOS. Ces applications lancent à leur tour une application graphique qui suit la sortie et l'état (via les sockets) de ces applications en ligne de commande. Les applications en ligne de commande peuvent être démarrées lorsque l'utilisateur est connecté, lorsque son poste de travail est verrouillé (il déclenche un fichier batch, puis verrouille immédiatement son poste de travail) et lorsqu'il est déconnecté (via une tâche planifiée) . Les problèmes que j'ai sont avec les deux derniers cas.Test des conditions d'exécution d'une application Windows
Si l'une de ces applications s'éteint lorsque l'utilisateur est verrouillé ou déconnecté, cette commande générera les fenêtres de l'interface graphique qui suivent la sortie/l'état. C'est bien, mais dites que l'utilisateur a verrouillé leur poste de travail - quand ils déverrouillent leur poste de travail, l'interface graphique n'est pas visible. Il exécute la liste des tâches, mais ce n'est pas visible. La prochaine fois que ces utilisateurs exécuteront certaines de nos applications en ligne de commande, l'interface graphique ne sera pas lancée (car elle est déjà en cours d'exécution), mais comme elle n'est pas visible sur le bureau, les utilisateurs ne verront aucune sortie. Ce que je cherche est un moyen de dire à partir de mes applications en ligne de commande si elles sont exécutées derrière un poste de travail verrouillé ou lorsqu'un utilisateur est déconnecté (via une tâche planifiée) - sont-ils en cours d'exécution sans le bureau d'un utilisateur visible. Si je peux le dire, je ne peux tout simplement pas démarrer notre interface graphique et éviter beaucoup de problèmes.
Ces applications que j'ai besoin de tester sont des applications Windows C/C++.
J'espère que cela a du sens.