|
Trouver une ressource
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 : Inorporer un programme actif [ Archives / Exécution ] (wyckit)
Informations & options pour cette discussion
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
|
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
|
"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
|
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é 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
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
Programme pascal pour faire une FORM [ par Francky23012301 ]
Salut à tous J'ai une petite question : Quelle est la source (programme complet)d'une FORM simple sans texte sans rien (breg juste un rectangle quand
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|