Cacher un process du task manager

Résolu
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008 - 6 mars 2007 à 15:20
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 21 juil. 2012 à 22:29
Je développe une petite application en VB6.  Cette application sert a s'assurer que les employés de la compagnie inscrivent leur temps travaillé a toute les semaines.



Or, pour que se soit vraiment efficace, il ne faudrait pas que les utilisateurs puissent simplement aller dans le gestionnaire de tache (Task Manager) et fermer le process du petit logiciel.

Est-il possible de rendre une application invisible au gestionnaire de taches.  Le parc informatique est entièrement en windows XP sp2.

Merci de votre aide.



PS :    App.TaskVisible = False ' ne fontionne pas

[font=Georgia]Joe Patent/font=Georgia

18 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 mars 2007 à 19:42
Un portage du C de la partie utilisation du driver de BruNews paraît en effet très faisable.


Une compilation de son projet sous forme de dll pourrait être une solution assez sympa pour une utilisation depuis VB6 aussi.


Avec un exe qui tourne en permanence, l'utilisateur ne pourrat pas l'effacer, certe.


Par contre pour s'assurer que l'exe est lancer au démarrage de Windows,
bon courage si l'utilisateur à des droits admin. Qui ne connait pas
msconfig...
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 mars 2007 à 18:17
Il faut un driver pour cacher les processus (en vrai il s'agit de distribuer ce qui sera vu ou non), il est donc bien clair que ça ne se fera qu'en natif.
CACHER PROCESSUS AU CHOIX (DRIVER WIN32)
http://www.cppfrance.com/code.aspx?ID=36941

Je pense qu'il ne devrait y avoir pas trop de problème pour transcrire le C en VB du code qui utilise le driver.

ciao...
BruNews, MVP VC++
1
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
6 mars 2007 à 15:30
Je ne pense pas que ce soit possible et je ne pense pas que ce soit très légal non plus! Et je vois pas en quoi cela assure que les employés inscrivent leur temps travaillé!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
6 mars 2007 à 16:04
[Je ne pense pas que ce soit possible]
 Je préfère les certitudes.

[et je ne pense pas que ce soit très légal non plus!]
C'est légal, approuvé et installé à la grandeur du pays.  Nous avons un contentieux qui s'occupe des questions d'ordre légale.
 
[Et je vois pas en quoi cela assure que les employés inscrivent leur temps travaillé!] Normal, tu ne connais ni l'entreprise ni le logiciel électronique d'entrées de temps ni le logiciel qui permet de prévenir les employés d'entré leur temps pour ceux que ce n'est déjà fait.

Merci pour le temps investit à trouver et rédiger cette 'solution' ou piste de solution.

Joe Patent
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 mars 2007 à 16:27
Bonjour JoePatent,



1) Dricke06 t'a à mon sens fort bien répondu en ce qyui concerne la faisabilité.



2) la logique la plus élémentaire conduit à penser que si ton appli de contrôle était bien "pensée", son interruption, précisément,  devrait interrompre la notification de présence, et pas le contraire (celà va tellement de soi).
Si tu t'y es pris autrement, il vaut mieux revoir ta copie, car sinon une simple interruption de l'alimentation électrique (générale ou autre) conduirait à la constatation d'une présence permanente !!!!

Bon...
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 mars 2007 à 16:29
Le plus simple serait peut-etre d'empecher l'utilisateur d'acceder au gestionnaire de tache. Ca doit etre possible à definir dans les regles de gestions des utilisateurs je pense.

Quant à cacher le process, moi non plus je trouve pas ça très "honnète".
D'autant plus que certains antivirus, antispyware, ... considères ce genres de logiciels comme des virus ou espions.

Effectivement tu dois pouvoir le cacher du gestionnaire de tache puisque lui-même n'affiche pas tous les process. Il n'en est pas capable semble-t-il, et ce qui est sur, c'est que ce n'est pas le plus performant dans cette tache là (et ne parlons pas de l'arret des process qu'il n'est pas toujours capable d'effectuer).

Il existe quantité de logiciels sur le net, bien plus simple et bien plus performant, capable d'afficher tout ce qui tourne. Et là impossible de cacher quoique ce soit, à partir du moment ou c'est en mémoire, c'est détecté.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
0
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
6 mars 2007 à 16:52
Bonjour  jmfmarques

1-La faisabilité existe sur le présent site en cpp et delphi.  Mais je ne trouve rien en VB.

2- Le logiciel est bien pensé et roule sur chacun des 10000 laptop qui composent la flotte informatique de la compagnie.  Ton exemple d'une panne électrique à quoi avoir avec mon besoin ?  Est-ce que tu connais Visual basic 6 et a envit de donner un coup de pouce ou tu t'ennuie et a juste envie de jaser ? 
0
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
6 mars 2007 à 16:57
Bonjour Casy,

[Il existe quantité de logiciels sur le net, bien plus simple et bien plus performant, capable d'afficher tout ce qui tourne. Et là impossible de cacher quoique ce soit, à partir du moment ou c'est en mémoire, c'est détecté.]

Tout a fait d'accord.  Je veux éliminer une façon simple pour les employés de se détourner leur responsabilité en ne faisait qu'un kill process dans le gestionnaire des taches sur le logiciel en question.
 
Donc si l'employé installe des logiciels tiers-partie pour détecter le logiciel et le fermer, je ne peux rien y faire.  La mauvaise foi sera punit autrement par les gestionnaires de l'entreprise.

Il s'agit d'une approche toute simple qui permet de rappeler au employé de remplir leur temps avec les fin de périodes comptables afin de permettre une comptabilité précise et une facturation dans les temps aux clients.

[url]http://www.joepatent.com/url[font=Georgia]Joe Patent/font=Georgia
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 mars 2007 à 17:42
"Ton exemple d'une panne électrique à quoi avoir avec mon besoin ? "

C'est pourtant simple à comprendre, ma foi !

Tu as dit plus haut que ton système ne jouerait plus son rôle si on en interrompait le processus, n'est-ce pa? (j'ai bien lu ?) ?
Alors, moi qui "ne connais rien à VB6" (au demeurant, ce serait là bien plus la connaissance de Windows que celle de VB6... mais bon...) : je te dis qu'un système bien pensé est un système qui contrôle la présence (ce qu'il ne fait certes plus, tout bêtement, si on l'interromp...), tout simplement.
Pour en revenir à la connaissance de VB6 : simple ! VB6 lui-même (donc tout seul) ne dispose d'aucune fonction permettant de cacher une tâche de la liste des tâches. VB6 est par contre capable d'utiliser des fonctions externes, notamment de l'API de Windows... mais ce n'est plus là la connaissance de VB6 qui entre en jeu, mais celle de fonctions externes (et donc non de VB6). Laquelle souhaiterais-tu donc appeler ? Ta réponse nous permettra de voir comment VB6 pourra l'utiliser !



Voilà donc.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 mars 2007 à 17:48
Pour être plus précis :
- autant je vois mal l'intérêt de cacher un processus, au prétexte que son interruption "supprimerait la possibilité d'un contrôle" alors qu'il suffit de simplement vérifier la "continuité" par relevés périodiques qui cesseraient en cas d'interruption,
- autant je vois par contre trop bien ce que l'on pourrait faire en cachant l'exécution de tâches.
0
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
6 mars 2007 à 17:57
Bonjour jmfmarques

De quelle présence tu parles ?  Je pense que tu ne prend pas le temps de bien comprendre le contexte qui est décrit.  Je ne suis pas philosophe mais développeur.

Les employés sont un peu partout sur la planète et pas au bureau.  Ils ont des laptop et on veut rappeler au moins discipliner d'entre eux d'entrer leur temps facturables.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 mars 2007 à 18:21
Tu veux donc que ton appli soit toujours en activité ?

Ok, si c'est ce que tu veux...

un projet :

Private Sub Form_Deactivate()
 Shell "d:\ab1\project1.exe"  'ici le répertoire de ton choix
End Sub


Private Sub Form_Terminate()
  Shell "d:\ab1\project1.exe"  'ici le répertoire de ton choix

End Sub

sauvegarde-le et fais en un exécutable project1.exe à mettre dans le répertoire de ton choix

lance l'exe, tue le processus et vois...
0
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
6 mars 2007 à 20:43
Merci beaucoup a Brunews et RT15 !

Je vais me lancer dans cette voie !

->
jmfmarques
Merci pour ton dernier effort.  Cette application doit se fermer d'elle même si le temps travaillé a effectivement été bien transmis.  Dans ton exemple, l'application se relancerait et se terminerait sans fin.
0
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
6 mars 2007 à 20:47
->RT15
[Par contre pour s'assurer que l'exe est lancer au démarrage de Windows, bon courage si l'utilisateur à des droits admin. Qui ne connait pas msconfig...]




Tous les utilisateurs ont les droits admin mais msconfig ne 'voit' pas le exe.  Il se limite a la base de registre, au menu startup, services de windows, etc.

Heureusement, il existe beaucoup de techniques pour démarrer des applications. 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 mars 2007 à 20:59
Bonsoir JoePatent,

Juste une question :

Quelle serait la difficulté rencontrée à écrire un code tel que le "relancement" serait conditionnel ?
Je n'en vois en ce qui me concerne aucune, bien que je ne "connaisse rien à VB6" ....


Il me semble (mais je suis simpliste) que l'on peut sans difficulté stocker dans une variable l'heure de démarrage et qu'on peut sans difficulté non plus, compter le temps qui s'est écoulé entre ce démarrage et l'heure actuelle... et dire qu'on ne relance que si ce temps est inférieur ou égal à la valeur que l'on a choisie... Il me semble même qu'on peut aller plus loin encore... jusqu'à fixer une heure de début et une heure de fin... et qu'en plus, si les "clients" sont répartis un peu partout dans le monde, se servir sans problème des fuseaux horaires.... et si l'on veut que personne ne triche, en plus, profiter de la comm pour imposer l'heure de la centrale, corrigée pour correspondre à l'heure "locale"... Mais bon....
Amitiés.
0
Utilisateur anonyme
21 juil. 2012 à 19:24
j AI LA REPONSE IL FAUT CREER UN AUTRE FICHIER KI LUI LE CACHERAT EXEMPLE EB VBS
COPIER SE TEXT
Set WshShell = WScript.CreateObject("WScript.Shell" )
WshShell.Run "LENOMDEVOTREAPPLI.EXE", SH_WIDE


IL FAUT KE LE FICHIER .EXE SOIT DANS LE DOSSIER RACINE DU VBS
0
Utilisateur anonyme
21 juil. 2012 à 19:35
une raiponse qui surreviaint sainque ens aperais la quaissetion; je me demende à quoua sa serre.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
21 juil. 2012 à 22:29
Salut Cmarcotte

à quoua sa serre


bah aaprendre le langage sms non ??
0
Rejoignez-nous