Execution discrète d'un programme.

[Résolu]
Signaler
Messages postés
30
Date d'inscription
dimanche 24 octobre 2004
Statut
Membre
Dernière intervention
4 juillet 2005
-
Messages postés
65
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
18 novembre 2008
-
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

Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
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
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
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 !
Messages postés
30
Date d'inscription
dimanche 24 octobre 2004
Statut
Membre
Dernière intervention
4 juillet 2005

C'est une idée je te remercie...

Autrement quelqu'un saurait comment faire pour retirer l'application de la liste des processus ?
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
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 !
Messages postés
23
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
3 mars 2005

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 !
Messages postés
23
Date d'inscription
vendredi 16 janvier 2004
Statut
Membre
Dernière intervention
3 mars 2005

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 !
Messages postés
30
Date d'inscription
dimanche 24 octobre 2004
Statut
Membre
Dernière intervention
4 juillet 2005

Merci à tous pour vos réponses... ;)
Messages postés
65
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
18 novembre 2008
1
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