JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 juillet 2008
-
6 mars 2007 à 15:20
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDerniè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.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 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...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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.
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 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:
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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 !!!!
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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 #
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 ?
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 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.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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 !
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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.
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.
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 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.
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 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.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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.
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