begin process at 2010 02 10 08:04:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Exécution

 > 

Inorporer un programme actif


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Inorporer un programme actif

Echange clos Echange clos, plus de réponse possible sur cet échange

mercredi 2 février 2005 à 19:27:07 | Inorporer un programme actif

wyckit

Bonjour à tous !

Voila, je ne savait pas trop quoi metre en titre, j'ai mis ce qui me paraissait le plus évocateur et le plus court possible lol.
Donc voila, en fait je voudrai savoir s'il est possible d'inclure un programme tierce, dans une fiche avec Delphi ...?
J'ai testé OLE, mais il lance l'executable à part. Ce que je voudrai tres précisement, c'est pouvoir utiliser cmd.exe depuis mon programme, sans que cmd.exe ne se lance parallelement à mon profgramme ... à vraie dire je ne sait pas si c'est possible.

Donc voila, si quelqu'un sait comment faire ca ...

the rastaman's vibration is positive !!!
mercredi 2 février 2005 à 22:23:17 | Re : Inorporer un programme actif

jmp77

Membre Club
Réponse acceptée !
Hello,

Il y a un compo qui permet de faire toutes les fonctions dos me semble t'il. Fais une recherche sur le site ou sinon sur www.torry.net

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
mercredi 2 février 2005 à 23:06:24 | Re : Inorporer un programme actif

Delphiprog

Administrateur CodeS-SourceS
"je voudrai savoir s'il est possible d'inclure un programme tierce, dans une fiche avec Delphi ...?"
Voir l'inclusion de fichiers dans les ressources de ton exécutable.

"J'ai testé OLE, mais il lance l'executable à part"
Tu ne peux pas changer les fondements d'OLE.

"Ce que je voudrai tres précisement, c'est pouvoir utiliser cmd.exe depuis mon programme, sans que cmd.exe ne se lance parallelement à mon profgramme "
Le fait d'appeler cmd.exe provoque déjà l'apparition d'une fenête en mode console.
Si c'est pour lancer une appli sans passer par cmd, alors tournes-toi vers l'utilisation de ShellExecute. Cette fonction est tellement utilisée dans les sources qu'il suffit de faire une recherche sur son nom.

"à vraie dire je ne sait pas si c'est possible"
Ben...c'est peut-être pour ça que tu poses la question, non ?

Et si tu nous disais, tout simplement, quel genre d'application tu souhaites lancer (application DOS ou Win32, voire un fichier batch)  ?

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
mercredi 2 février 2005 à 23:25:29 | Re : Inorporer un programme actif

wyckit

merci jmp77, je pense que ca sera ma solution finale :)

Delphiprog, les fichier .res je connais, ce que je veu, c'est executer cmd.exe dans ma fiche. en gros, je veu executer cmd.exe via mon programme, mais en fesant en sorte qu'il s'execute dans ma fiche, pas à coté. je sait c'est pas très clair, mais j'ai pas mieu ...
je veu executer cmd.exe comme si je fesait un include de cmd.exe depuis mon programme :) c'est plus clair ? lol
car, quand on fait un include en php, le site inclus est affiché dans le site incluant, comme une frame. ben moi je veu fair pareil, mais avec cmd.exe comme inclu, et ma fiche comme incluant. :p

the rastaman's vibration is positive !!!
mercredi 2 février 2005 à 23:47:37 | Re : Inorporer un programme actif

Delphiprog

Administrateur CodeS-SourceS
Réponse acceptée !

Ok, je pense avoir compris. La réponse a déjà été donnée sur le forum : http://www.delphifr.com/forum.v2.aspx?ID=182840

En clair, tu veux rediriger la sortie standard vers ton application
procedure RunDosInMemo(DosApp: string; AMemo: TMemo);
const
  ReadBuffer = 2400;
var
  Security: TSecurityAttributes;
  ReadPipe, WritePipe: THandle;
  start: TStartUpInfo;
  ProcessInfo: TProcessInformation;
  Buffer: Pchar;
  BytesRead: DWord;
  Apprunning: DWord;
begin
  with Security do
  begin
    nlength := SizeOf(TSecurityAttributes);
    binherithandle := true;
    lpsecuritydescriptor :=
nil;
 
end;
 
if Createpipe(ReadPipe, WritePipe,
    @Security,
0) then
  begin
    Buffer := AllocMem(ReadBuffer + 1);
    FillChar(Start, Sizeof(Start),
#0);
    start.cb := SizeOf(start);
    start.hStdOutput := WritePipe;
    start.hStdInput := ReadPipe;
    start.dwFlags := STARTF_USESTDHANDLES +
      STARTF_USESHOWWINDOW;
    start.wShowWindow := SW_HIDE;

   
if CreateProcess(nil,
      PChar(DosApp),
      @Security,
      @Security,
      true,
      NORMAL_PRIORITY_CLASS,
     
nil,
     
nil,
      start,
      ProcessInfo)
then
    begin
      repeat
        Apprunning := WaitForSingleObject
          (ProcessInfo.hProcess,
100);
        Application.ProcessMessages;
     
until (Apprunning <> WAIT_TIMEOUT);
     
repeat
        BytesRead := 0;
        ReadFile(ReadPipe, Buffer[
0],
          ReadBuffer, BytesRead,
nil);
        Buffer[BytesRead] :=
#0;
        OemToAnsi(Buffer, Buffer);
        AMemo.Text := AMemo.text +
string(Buffer);
     
until (BytesRead < ReadBuffer);
   
end;
    FreeMem(Buffer);
    CloseHandle(ProcessInfo.hProcess);
    CloseHandle(ProcessInfo.hThread);
    CloseHandle(ReadPipe);
    CloseHandle(WritePipe);
 
end;
end;

procedure TForm1.btnCaptureDosWindowClick(Sender: TObject);
begin
  RunDosInMemo('command.com /C dir c:', Memo1);
end;

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.

jeudi 3 février 2005 à 01:12:50 | Re : Inorporer un programme actif

emmanuelgo

salut a tous...
ce code (celui donner par delphiprog)  fonctionne bien mais : si il affiche bien ce que le programme dos nous renvoie, comment est-il possible de 'continuer' l'interraction : je m'explique:
je lance un programme dos ( une ligne runas /user:administrateur "Execut.exe" ,par exemple)
la console demande alors le mot de passe de l'administrateur, et je recupère bien cette demande dans mon programme delphi...
mais ensuite, comment "renvoyer" le mot de passe, entré par l'utilisateur dans l'appli delphi, dans le programme DOS???

jusqu'ici je n'ai pas trouvé de réponse...si quelqu'un a une idée....
jeudi 3 février 2005 à 09:14:57 | Re : Inorporer un programme actif

wyckit

Vu sous cet angle :)

gro merci DelphiProg !! :D

the rastaman's vibration is positive !!!


Cette discussion est classée dans : programme, possible, actif, lance, inorporer


Sujets en rapport avec ce message

Adresse memoire programme externe [ par wolfer ] Bonjour, j'aimerais savoir s'il est possible sous delphi de lire le contenu d'une adresse memoire employé par un autre programme (un jeu). Par exemple Execution discrète d'un programme. [ par kinkey_wizard ] 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 à plusieu Application qui ne veut pas se mettre en premier plan [ par the_snake ] Bonjour j'ai créé un module pour un programme mais j'ai un petit probleme Mon module est un exe en delphi . par defaut , quand on cllique sur l'exe il BDE error [ par wisdeco81 ] Bonjour,J'ai créé un programme en delphi utilisant des bases paradox.  Tout ca est placé dans sur un disque réseau.  Mais lorsque je lance l'exécutabl image en debut de programme [ par ced55957 ] bonsoir je voulais savoir comment quand on ouvre le programme une image ce lance pendant 3 seconde puis le programme se lance au bout de ce temps ecou Capture d'écran dans un programme en service. [ par Mxatone ] Voila mon problème :J'ai un programme qui se lance en service et avec celui-ci je souhaite faire une capture d'écran. Et la avec n'importe quel moyen mode sans echec [ par the ripper ] bonjour j'ai fait un programme qui se lance au démarrage de windows (il demande un mot de pass) mais on peut facilement bloquer son execution (mode sa Changer les propriétés de DBGrid dans le programme [ par notrica ] Salut Est-il possible de modifier les propriétés de [b]DBGrid[/b] dans le programme (en mode programmation) ? Je voudrais par ex. interdire à un mome Place d'un programme au sein du disque dur... [ par mentral ] Bonjour, Oui je sais, le titre du pessage est pas super clair. En gros, j'aimerais savoir s'il est possible pour un programme de connaître son emplace Ajouter ses fichiers dans un programme [ par dami27 ] Bonjour à tous !Je suis débutant en programmation et je voudrais savoir comment ajouter ses propres fichier dans un programme... Par exemple, je voudr


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales