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 : Fonction ki execute tout et n'importe koi et attend sagement la fin [ Archives / Exécution ] (Gysmo)

mardi 16 avril 2002 à 23:51:28 | Fonction ki execute tout et n'importe koi et attend sagement la fin

Gysmo

J'ai trouver cette excelentissime fonction sur le web:

function LaunchNWaitEnd(sFile: string): boolean;
var
cExe: array [0..255] of Char;
sExe, Fichier: string;
StartInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
pcFile: PChar;
begin
Result:=True;
FindExecutable(PChar(ExtractFileName(sFile)), PChar(ExtractFilePath(sFile)), cExe);
sExe:= string(cExe);
if Uppercase(ExtractFileName(sExe))<>Uppercase(ExtractFileName(sFile))
then pcFile:=PChar(' "'+sFile+'"')
else pcFile:=nil;
ZeroMemory(@StartInfo, SizeOf(StartInfo));
StartInfo.cb:= sizeof(StartInfo);
if CreateProcess(PChar(sExe), pcFile, nil, nil, true, 0, nil, nil, StartInfo, ProcessInfo)
then WaitForSingleObject(ProcessInfo.hProcess, INFINITE)
else Result:= false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
Visible:= false;
if not (LaunchNWaitEnd(OpenDialog1.FileName))
then ShowMessage('erreur au lancement de l''application'
+ Opendialog1.FileName);
Visible:= true;
end;


Elle lance un exe ou un fichier (via l'exe associer) disparait et reaparait une fois l'exe fermer.

Le truc c'est ke j'aimerais kel lance mon applis en grand ecran mais ne comprenand pas grand chose a la fonction CreateProcess je sais pas ou fo mettre WS_MAXIMIZE??!

Merci de m'eclairer sur la question.

Babaille.

mercredi 17 avril 2002 à 00:51:38 | Re : Fonction ki execute tout et n'importe koi et attend sagement la fin

Nono40

Pour obtenir la fenêtre en grand écran il faut ajouter juste avant le CreateProcess :
StartInfo.dwFlags:=STARTF_USESHOWWINDOW;
StartInfo.wShowWindow:=SW_SHOWMAXIMIZED;

Voili, ci tout.

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

J'ai trouver cette excelentissime fonction sur le web:

function LaunchNWaitEnd(sFile: string): boolean;
var
cExe: array [0..255] of Char;
sExe, Fichier: string;
StartInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
pcFile: PChar;
begin
Result:=True;
FindExecutable(PChar(ExtractFileName(sFile)), PChar(ExtractFilePath(sFile)), cExe);
sExe:= string(cExe);
if Uppercase(ExtractFileName(sExe))<>Uppercase(ExtractFileName(sFile))
then pcFile:=PChar(' "'+sFile+'"')
else pcFile:=nil;
ZeroMemory(@StartInfo, SizeOf(StartInfo));
StartInfo.cb:= sizeof(StartInfo);
if CreateProcess(PChar(sExe), pcFile, nil, nil, true, 0, nil, nil, StartInfo, ProcessInfo)
then WaitForSingleObject(ProcessInfo.hProcess, INFINITE)
else Result:= false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
Visible:= false;
if not (LaunchNWaitEnd(OpenDialog1.FileName))
then ShowMessage('erreur au lancement de l''application'
+ Opendialog1.FileName);
Visible:= true;
end;


Elle lance un exe ou un fichier (via l'exe associer) disparait et reaparait une fois l'exe fermer.

Le truc c'est ke j'aimerais kel lance mon applis en grand ecran mais ne comprenand pas grand chose a la fonction CreateProcess je sais pas ou fo mettre WS_MAXIMIZE??!

Merci de m'eclairer sur la question.

Babaille.

mercredi 17 avril 2002 à 01:10:30 | Re : Fonction ki execute tout et n'importe koi et attend sagement la fin

Gysmo

Yahoo super cool merci!!!
Je comprend un peu mieu comment ca marche ce bitouniou maintenant.
C StartInfo ki envois les info a la fenetre car c un TStratupInfo...
Bref je verrai plus tard qd j'aurais plus d'experience pour comprendre exactement.

Merci beaucoup!

Babaille.

-------------------------------
Réponse au message :
-------------------------------

Pour obtenir la fenêtre en grand écran il faut ajouter juste avant le CreateProcess :
StartInfo.dwFlags:=STARTF_USESHOWWINDOW;
StartInfo.wShowWindow:=SW_SHOWMAXIMIZED;

Voili, ci tout.

--- Nono du Moulin ---

jeudi 5 août 2004 à 15:43:34 | Re : Fonction ki execute tout et n'importe koi et attend sagement la fin

adjena

Cette fonction est très interessante mais quel uses faut-il faire pour avoir la fonction FindExecutable, car à chaque fois que je fais un test delphi me répond :
[Erreur] Unit1.pas(37):
Identificateur non déclaré : 'FindExecutable'
Merci d'éclaire ma lanterne



Cette discussion est classé dans : fonction, nil, startinfo, sfile, pchar


Répondre à ce message

Sujets en rapport avec ce message

Envoyer informations à un autre programme [ par Also know as ] Bonjour, Voilà j'ai crée deux programme, un qui lance les vidéos et le second qui prend tout simplement le lecteur windows media. Je cherche à envoy lancer un fichier bat en MODE REDUIT et attendre qu il se finisse [ par hijodelanoche ] Bonour a tous ^_^Voilà, j utilise une fonction :function LanceAppliAttenteFin(NomFichier:string):boolean;var  StartInfo : TStartupInfo;  ProcessInform Récupérer le code retour d'un exe lancer par CreateProcess [ par furax13 ] bonjour,depuis une application Delphi, je lance un exécutable C++avec un fichier de données comme paramètr. Cet exe C++  retourne un entier qui permet Connection MySQL [ par Kaki16 ] KakiBonjour à tous,J'essai de me connecter à mon serveur mysql. Voici ma procédure :Conn := mysql_init(nil);if Conn = nil then ShowMessage('erreur');M bug WaitForSingleObject [ par barrique ] Bonjour,Je vous écrit car j'ai un petit problème avec l'instruction WaitForSingleObject.J'ai un programme delphi qui permet l'installation de plusieur Utilisation MAPI pour envoyer un e-mail [ par ssd ] Bonjour,j'ai essayé une source MapiMail du site et je n'ai pas pu l'utiliser.Le probléme etant apres la compilation, j'execute l'exe, je renseigne les Lancer deux shellexecute [ par jmonnier ] Bonjour,Je voudrais lancer ces deux processus:ShellExecute(GetActiveWindow,nil,PChar(chemin),PChar('-c -sd -user "'+sUser+'" -pwd "'+sMDP+'" "'+sConne help me ! attente du chargement d'une page [ par Shad0w ] Salut,voilà, g un prog où il faut ouvrir une page web, pour cela j'utilise :ShellExecute(Handle, 'OPEN', pchar(url.Text),'','', SW_HIDE);ça marche sau classe TService :Application Service et lancement d'executable [ par zorg724 ] Bonjour, j'ai créé un service window (programme qui tourne en tache de fond- icone 'service' dans le menu nouveau->application sous delphi : Classe TS Problème avec email outlook express [ par ActiveX ] Bonjour , j'ai un problème avec mon application il envoie plusieurs courriel, mais il bog à l'appelle de Outlook express, il fait la première appele s


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

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,452 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é.