Cacher un process du task manager [Résolu]

Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
- - Dernière réponse : cs_ShayW
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
- 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
Afficher la suite 

Votre réponse

18 réponses

Meilleure réponse
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
3
Merci
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...

Merci cs_rt15 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
1
Merci
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++
Commenter la réponse de BruNews
Messages postés
2247
Date d'inscription
lundi 29 mai 2006
Dernière intervention
29 mai 2008
0
Merci
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:
Commenter la réponse de drikce06
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
0
Merci
[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
Commenter la réponse de JoePatent
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
0
Merci
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...
Commenter la réponse de jmfmarques
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
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 #
Commenter la réponse de cs_casy
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
0
Merci
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 ? 
Commenter la réponse de JoePatent
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
0
Merci
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
Commenter la réponse de JoePatent
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
0
Merci
"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.
Commenter la réponse de jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
0
Merci
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.
Commenter la réponse de jmfmarques
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
0
Merci
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.
Commenter la réponse de JoePatent
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
0
Merci
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...
Commenter la réponse de jmfmarques
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
0
Merci
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.
Commenter la réponse de JoePatent
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
0
Merci
->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. 
Commenter la réponse de JoePatent
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
0
Merci
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.
Commenter la réponse de jmfmarques
0
Merci
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
Commenter la réponse de Utilisateur anonyme
0
Merci
une raiponse qui surreviaint sainque ens aperais la quaissetion; je me demende à quoua sa serre.
Commenter la réponse de Utilisateur anonyme
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
0
Merci
Salut Cmarcotte

à quoua sa serre


bah aaprendre le langage sms non ??
Commenter la réponse de cs_ShayW

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.