Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Executer un Programme en l'attachant a un processus [ Archives / Exécution ] (cricri_b34)

vendredi 22 avril 2005 à 16:55:15 | Executer un Programme en l'attachant a un processus

cricri_b34

Salut j'aimerais savoir comment executer un programme en l'attachant a un
processus ?

vendredi 22 avril 2005 à 17:24:29 | Re : Executer un Programme en l'attachant a un processus

davidfdm2002

Moi je suis enplein dedans pour un service...
Dans la pratique pour lancer un programme depuis un autre il suffit d'utiliser createprocess..
Voici un petit morceau de code recuperé de ci de la sur le web. Avec ça tu pourra facilement trouver les autres elements necessaires.
En esperant que cela t'aide, bonne continuation :)

Var  StartInfo    : TStartupInfo;
     ProcessInfo  : TProcessInformation;
     Fin          : Boolean;
     Fichier      : String;
     StdOutFile   : THandle;
     SecurityAttr : TSecurityAttributes;
     Lus          : Cardinal;
     Bloc         : PChar;
     Long         : Cardinal;
     Programme : String;
     Repertoire :String;
      Result:String;

begin


;
programme:=' notepad.exe;
                                          }
  FillChar (SecurityAttr, SizeOf(SecurityAttr), #0);
  SecurityAttr.nLength              := SizeOf (SecurityAttr);
  SecurityAttr.lpSecurityDescriptor := Nil;
  SecurityAttr.bInheritHandle       := FALSE;


  Try
    { Mise à zéro de la structure StartInfo }
    FillChar(StartInfo,SizeOf(StartInfo),#0);
    StartInfo.cb          := SizeOf(StartInfo);
    
        If CreateProcess(Nil, PChar(programme), Nil, nil, false,0, Nil, nil, StartInfo,ProcessInfo) Then
    Begin

      { ProcessInfo.hProcess contient le handle du process principal de l'application }
      Fin:=False;
      Repeat
        { On attend la fin de l'application }
        Case WaitForSingleObject(ProcessInfo.hProcess, 200)Of
          WAIT_OBJECT_0 :Fin:=True; { L'application est terminée, on sort }
          WAIT_TIMEOUT  :;          { elle n'est pas terminée, on continue d'attendre }
        End;
        { Mise à jour de la fenêtre pour que l'application ne paraisse pas bloquée. }
        Application.ProcessMessages;
      Until Fin;
      { C'est fini }
    End
    Else RaiseLastOSError;
  Finally


vendredi 22 avril 2005 à 20:59:31 | Re : Executer un Programme en l'attachant a un processus

cricri_b34

 ... ok j'vais essayer de faire quelque chose avec ça

mais en passant comment qu'on fait pour que notre programme soit considéré
comme un service?

samedi 23 avril 2005 à 00:55:19 | Re : Executer un Programme en l'attachant a un processus

davidfdm2002

bon, mais juste en passant alors...
Aulieu de crrer un projet de base style application, tu cré un projet service, cela te cré un objet de type Tservice.
Ensuite tu implement la fonction onExecute, ou OnStrat/onBegin dans le cas d'utilisation d'un Tread. tu compile ton programme et voila. Il existe un excelent exemple Delphi sur ce site, qui m'a permit de faire egalement mes premieres armes a ce sujet. Juste fait une recherche sur Service Windows , et tu trouvera :)
voila.

samedi 23 avril 2005 à 22:37:22 | Re : Executer un Programme en l'attachant a un processus

cricri_b34

ok merci

mais le code que tu ma donner  ne fait qu'exécuter un programme ?

dimanche 24 avril 2005 à 05:25:15 | Re : Executer un Programme en l'attachant a un processus

cricri_b34

ee jveux juste etre sur qu'on parle de la meme chose :

pour moi un service c un programme qui est considéré comme un programme systeme par windows ?

dimanche 24 avril 2005 à 05:26:49 | Re : Executer un Programme en l'attachant a un processus

cricri_b34

J'ai chercher des info sur createProcess mais j'ai pas trouvé comment l'utilisé pour executer un programme en l'attachant a un processus

dimanche 24 avril 2005 à 05:39:35 | Re : Executer un Programme en l'attachant a un processus

cricri_b34

J'ai chercher encore et ca me semble bcp + compliqué que ca attacher un programme a un processus
Il faut que mon programme soit considérer comment un débuggueur et ensuite je peux utiliser la fonction :

function DebugActiveProcess (dwProcessId: DWORD): BOOL





mardi 3 mai 2005 à 17:43:38 | Re : Executer un Programme en l'attachant a un processus

davidfdm2002

désolé pour la reponse...

woui un service est bien un programme systeme.
Tu créé ton service en delphi (delphi 6 pour moi...) , cela te cré un exe..
en ligne de commande tu ecrit
monexe.exe /install
et ca te l'installe entant que service  windows.
Poour le desinstaller tu retape
monexe.exe /uninstall

Voila..
Sinon je comprend pas du tout ce que tu veux faire avec le debuggage...

mercredi 11 mai 2005 à 03:30:22 | Re : Executer un Programme en l'attachant a un processus

cricri_b34

merci c exactment ca que je voulais savoir
mais c ou que j'entre ces commande?


1 2

Cette discussion est classé dans : programme, processus, executer, attachant


Répondre à ce message

Sujets en rapport avec ce message

Envoie de programme dans l'icon tray [ par FurySpike ] Bonjour a tous, J'aimerais savoir comment on fait pour envoyer son programme dans la bare de tache (en bas a droite) ??Mon programe offre le choix Attendre la fermeture d'un programme déjà ouvert [ par Serial326 ] Bonjour à tous,J'essai de faire un programme qui reçoit en paramètres le handle et le processus de l'application qui l'appelle ainsi que deux chemin ( Faire executer un programme sans afficher de Tform [ par JCLK ] Je souhaite faire un programme turbo pascal simple, qui tourne sans afficher de fenetres. Pouvez-vous me dire comment faire. Pour l'instant la seule s Arrêter l'execution du programme [ par oluha ] BonjourJ'ai créé une procédure qui me permet d'executer mes procédures stockées avec ISQL en shell (j'avais de gros problèmes de timeout que j'ai réso fermer un programme en stoppant son processus [ par li ] et bien toute est dans le non jaimerais depuis mon application fermer des processus ; celui de norton par exemple ou toute autre programme alors si qu Executer un programme ecrit avec delphi [ par kleline ] Bonjour,Apres moultes pérépéties avec delphi, j'ai terminé mon pti prog, et je souhaite l'installer sur une machine autre que celle sur laquelle il a gros problème de compatibilité !!! :s [ par alex_lecool85 ] Bonjour à tous. Mon problème est simple mais complique beaucoup la chose. J'ai fait un programme sous delphi 7 qui utilise une base de donnée avec l Executer application console apres les bords de l'ecran [ par Mxbug ] Yop je me disais si il est possible d'executer une application console apres les bords de l'ecran , c a dire que l'utilisateur ne voit pas qu'elle est Gérer les erreurs de conversion [ par Nargzul ] Bonjour, je m'entraine un peu au delphi, et je récupère des valeurs d'une form. Le programme devra effectuer des calculs chaque fois qu'une des cases emplacement du programme [ par Nargzul ] Bonjour Voila, j'ai fait une fonction pour copier un fichier(de configuration). donc je lui envoie mon premier emplacement et mon deuxième, et j'ai


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.