Execution discrète d'un programme.

Résolu
kinkey_wizard Messages postés 30 Date d'inscription dimanche 24 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005 - 24 oct. 2004 à 11:09
cs_hendrix Messages postés 65 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 18 novembre 2008 - 28 oct. 2004 à 14:39
Bonjour tout le monde, je vous salue.

Bon alors je m'explique : je possède chez moi un PC (OS : Windows XP) que je souhaite rendre accessible à plusieurs personnes.
De ce fait, je commence à coder un programme permettant de surveiller les activités des utilisateurs.

J'ai pensé pour cela faire une application console de manière à ce qu'elle soit la plus discrete possible, cependant il reste tout de même un ou deux points qui me chagrinent, ils sont l'objet de ma requête...

Plus précisément je voudrais savoir s'il est possible (et si oui, comment ?) de faire en sorte que lors du lancement de l'application l'invite de commandes MS-DOS ne s'affiche pas. Pour être plus clair, lors de l'execution de cette application, l'invite de commandes apparait puis disparait en 1/4 de seconde bien que le programme ne nécessite aucune intervention de la part de l'utilisateur, comment puis je supprimer cet effet ?

Toujours dans cet objectif de discrétion je souhaiterais également savoir s'il serait possible (et si oui comment ? de nouveau) de supprimer le programme de la liste des processus accessible lors d'un [Ctrl] [Alt] [Suppr]...

En vous remerciant par avance.

PS : Venant d'arriver, je n'ai pas su tout d'abord où chercher et ensuite où poster. J'espère ne pas m'être trompé de rubrique et je vous prie de m'excuser au cas où cela serait le cas...

8 réponses

japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
27 oct. 2004 à 02:32
Pour qu'une application n'apparaisse pas dans la liste des applications actives :

function RegisterServiceProcess
  (dwProcessId: Cardinal; dwType: Cardinal): Cardinal;
  stdcall; external 'Kernel32.dll';

...    

RegisterServiceProcess(GetCurrentProcessId, 1);


Efficace sous Win 98, à tester sous Xp, 2000, NT...

Bonne prog' :-p
3
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
25 oct. 2004 à 22:08
hello,

je ne suis pas pro dans les appli console, mais tu peux faire une form mais ne pas l'afficher ! avec application.showmainform := false;

voila

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
0
kinkey_wizard Messages postés 30 Date d'inscription dimanche 24 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
25 oct. 2004 à 22:18
C'est une idée je te remercie...

Autrement quelqu'un saurait comment faire pour retirer l'application de la liste des processus ?
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
25 oct. 2004 à 22:44
non j'ai eu un code mais il ne fonctionne pas :/

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
0

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

Posez votre question
krypto2000 Messages postés 23 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 3 mars 2005
26 oct. 2004 à 16:00
Sous NT 4 tu pouvais supprimer une application de la liste simplement de la manière suivante :
dans ton dpr

...
application.CreateForm(TForm1,Form1);
application.title := '';
...

comme le titre était vide il ne l'affichait pas...

ce n'est plus le cas sous winXP ni 2000 donc le meilleurs moyen de passer incognito c'est de nommer ton projet svchosts.exe ou dans le genre...

En sinon, je doute que l'application console soit la meilleurs des solutions, une application service par contre me semblerait parfaitement adaptée...

a plus !
0
krypto2000 Messages postés 23 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 3 mars 2005
26 oct. 2004 à 16:00
Sous NT 4 tu pouvais supprimer une application de la liste simplement de la manière suivante :
dans ton dpr

...
application.CreateForm(TForm1,Form1);
application.title := '';
...

comme le titre était vide il ne l'affichait pas...

ce n'est plus le cas sous winXP ni 2000 donc le meilleurs moyen de passer incognito c'est de nommer ton projet svchosts.exe ou dans le genre...

En sinon, je doute que l'application console soit la meilleurs des solutions, une application service par contre me semblerait parfaitement adaptée...

a plus !
0
kinkey_wizard Messages postés 30 Date d'inscription dimanche 24 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
27 oct. 2004 à 02:36
Merci à tous pour vos réponses... ;)
0
cs_hendrix Messages postés 65 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 18 novembre 2008 1
28 oct. 2004 à 14:39
SAlut !

Pour qu'une application console n'affiche pas de fenêtre type dos, il faut:

program runonc1;

//{$APPTYPE CONSOLE} (mettre ça en remarque)

uses
SysUtils,
............

le code va s'exécuter sans fenêtre dos... ça permet de faire des super petits (en tailles !) programmes quand on ne mets que le nécessaire dans uses !!!

Pour la masquer dans les process, j'utilise aussi le renommage en svchost.exe ou autres... (voir ci dessus). Je crois avoir déjà essayé RegisterServiceProcess sans succès sous XP (mais je ne suis plus sûr).

A+

hendrix
0
Rejoignez-nous