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 : Question ShellExecute. [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (Becracker)

mardi 30 août 2005 à 12:13:42 | Question ShellExecute.

Becracker

Salut les gars,

Je voudrais svp savoir à koi correspond chaque partie inclue dans la parentèse ci-dessous (le 0 signifie koi ?, le 1er nil signifie koi et kelles valeurs il peut prendre, le 2ème nil de même, etc...)

ShellExecute(0,nil,'C:\test.exe',nil,nil,SW_SHOW);

Merci à tous d'avance.

-----------------------------------------

May Delphi and Php change the world ....


mardi 30 août 2005 à 12:24:44 | ShellExecute expliqué

grandvizir

Zéro est un handle neutre, car çà permet surement de faire des callbacks si tu appeles certains logiciels. En fait, çà identifie le possesseur de la commande même si ce n'est pas forcément lui qui a exécuté la commande.

nil vaudrait mieux qu'il y ait 'open'.

'c:\test.exe' est la commande a effectuer.

nil est la ligne de commande attribuée à l'application. Tu récupères avec ParamStr(1) dans ton EXE

nil est le répertoire d'ouverture par défaut. Ca permet de rechercher des fichiers en nom court. En lançant avec nil, le dossier par défaut est celui de l'application. Si tu fais un FileOpen sur 'test.dat', le fichier sera cherché dans CheminApplication\. Si tu mets 'c:\' au lieu du nil, il sera cherché c:\test.dat

Le dernier paramètre ordonne le mode d'affichage : agrandi, réduit, normal, caché...

=============
Validez les réponses si ok...

ViewVite XP : HTML

mardi 30 août 2005 à 13:28:25 | Re : Question ShellExecute.

barbichette

Membre Club

Le premier handle identifie le processus (l'application en gros) rattaché au lancement.
Si il y a fhune erreur, c'est ton application qui récupère les messages d'erreurs.
Si c'est Nil, alors c'est explorer (windows en gros) qui récupère tout.
Ce handle sert en colaboration avec le dernier paramètre

Le deuxième (nil) peut en effet être 'open' mais en france, ça revient à nil.
en fait ce sont les options qu'il y a dans le menu contextuel dans l'explorateur.
Ainsi, quand on clique sur un fichier .TXT ou a en premier 'ouvrir', 'imprimer', 'modifier'. Et c'est ça qu'il faut mettre.
Si il n'y a rien ou si le verbe (c'est comme ça qu'on dit) est incorrect, le systeme utilise celui par defaut.
Donc quand on met 'open', pour un fichier TXT, ça n'existe pas dans windows en français mais comme l'option par defaut et 'Ouvrir', ça marche quand même.


Le deuxième est le non du programme à lancer (avec son chemin d'accès si nécessaire).

Le troisième est le ou les paramètre(s). Si on veut placer un paramètre avec espace (comme des nom longs) il faut bien respecter la notation. Càd mettre entre guillemets comme 'mon fichier.txt /test' à trois paramètre mais '"mon fichier.txt" /test' en a que deux.

Le quatrième est bien le repertoire d'ouverture par défaut.

Et enfin le dernier prend les constantes suivantes (traduction du site MSDN par mes soins...):
SW_HIDE = 0
Cache la fenêtre et active l'autre fenêtre

SW_MAXIMIZE=3
Maximise la fenêtre spécifier

SW_MINIMIZE=6
Minimise la fenêtre spécifier et active la fenêtre suivante dans l'ordre Z.

SW_RESTORE=9
Active et affiche la fenêtre. Si la fenêtre est minimisée ou maximisée, Windows la restore dans sa taille et sa position original. Une application devrait specifier ces drapeaux en restorant une fenêtre minimisée.

SW_SHOW=5
Active la fenêtre et l'affiche dans sa position et dimension courante.

SW_SHOWMAXIMIZED=3
Active la fenêtre et l'affiche en la maximisant.

SW_SHOWMINIMIZED=2
Active la fenêtre et l'affiche en la minimisant.

SW_SHOWMINNOACTIVE=7
Affiche la Fenêtre en la minisant. La fenêtre active reste active.

SW_SHOWNA=8
Affiche la Fenêtre tel quel. La fenêtre active reste active.

SW_SHOWNOACTIVATE=4
Affiche la fenêtre dans la dernier position et taille connue. la fenêtre active reste acrive.

SW_SHOWNORMAL=1
Active et affiche la fenêtre. Si la fenêtre est maximisée ou minimisée, windows la restore dans sa position et taille original. Une application devrait specifier ces drapeaux en s'affichant pour la première fois.

SW_SHOWDEFAULT=10
Met l'état d'affichage de base sur SW_FLAG spécifié dans la structure STARTUPINFO passé par la fonction CreateProcess par le programme au démarrage de l'application. L'application devrait appeler ShowWindow avec ce drapeau pour definir l'état initial de la fenêtre principale.

Voilà tout les secrets de ShellExecute.


mardi 30 août 2005 à 14:53:30 | Re : Question ShellExecute.

Francky23012301

Membre Club
Au niveau du répertoire pas défaut : je crois que c'est facultatif non???? Et le cinquième parametre il sert à quoi? Possibilité de donner un exemple concret ??? Ouvrir un fichier word genre texte.doc et ouvrir juste word

mardi 30 août 2005 à 15:21:12 | Re : Question ShellExecute.

barbichette

Membre Club
Ouvrir juste word :
shellexecute(0,nil,'C:\Program Files\Microsoft Office\word.exe',nil,nil,SW_SHOW);
ou
shellexecute(application.handle,nil,'C:\Program Files\Microsoft Office\word.exe',nil,nil,SW_HIDE);
ceci lance word et cache notre application.

Ouvrir un document word avec l'application par defaut:
shellexecute(0,nil,'C:\Program Files\Microsoft Office\word.exe','c:\mesdocs\text.doc',nil,SW_SHOW);

Et pour l'ouvrir et l'imprimer :
shellexecute(0,nil,'C:\Program Files\Microsoft Office\word.exe','c:\mesdocs\text.doc','Imprimer',SW_SHOW);


Enfin, pour information, quand on fait menu démarrer et Executer (ou touche windows+R), la petite fenêtre d'éxecution revient à faire shellexecute(0,nil,edit.text,nil,nil,0);  // avec edit.text le champ d'édition qu'il y a sur la fenêtre.

mardi 30 août 2005 à 15:33:20 | Re : Question ShellExecute.

Francky23012301

Membre Club
Si on tape shellexecute(0,nil,'C:\word.exe',nil,nil,SW_SHOW); il se passe quoi ?

mardi 30 août 2005 à 16:04:06 | Naturisme binaire

grandvizir

Ben çà lance Word dans son répertoire par défaut et puis t'y touches plus...

=============
ViewVite XP : HTML

mardi 30 août 2005 à 17:34:38 | Re : Question ShellExecute.

barbichette

Membre Club

Si word est dans la racine du C: oui, sinon, ça ne fera rien...


dimanche 18 décembre 2005 à 16:16:29 | Re : Question ShellExecute.

morteza

hello

whate Include exe file in to word
not use macro
or
infect word file to exe
please  help my
thanks




Cette discussion est classé dans : question, shellexecute, signifie, koi, nil


Répondre à ce message

Sujets en rapport avec ce message

ShellExecute probleme [ par g0belin ] voila je voulais faire un pti prog simpa pour envoyer des net send mais j'ai un probleme:si je fais ça, sa marche :-----------------------------ShellE Probleme de ShellExecute tordu ! [ par DeltaFX ] Hello World :)Petit problème avec le lancement d'une appli externe (mais un peu + tordu, quand meme )J'ai donc un bout de code sous Delphi7 qui me lan Vidéo Media Player [ par Rowan ] Bonjours à tous,Je possède DELPHI4.Comme puis-je faire pour lancer une vidéo avec le MediaPlayer de windows en mode pleine écran?L'API ShellExecute, n mail, adresses de sites et explorer [ par barbichette ] bonjour,je cherche à ouvrir la fenêtre de mail, d'internet ou un repertoire sur le disque via mon application.je sais que :ShellExecute(0,nil,'mailto: Question sur (nil) [ par xzenou ] Coucou , en passant merci cirec les findcomponent me servent a merveille :). Je vois dans beaucoup de source que j'étudie sur le site des (nil), je co Probleme shellexecute d'un .bat [ par Spellbound74 ] Bonjour,j'utilise shellexecute pour lancer un .bat if ShellExecute(0,'OPEN',PChar('C:\...\RESTRICT.bat'), Nil, Nil, SW_SHOWNA)mais j'aurais besoin dan upload ftp par des ShellExecute?? est ce que c'est faisable? [ par othland ] salut tout le monde!après plusieurs tentative de travail avec le composant Indy, je me demande si je ne peux pas faire le upload d'un fichier texte en Identifiant refuser dans un shellexecute [ par Francky23012301 ] Salut,Dans la procédure ci-dessous,  il y a un erreur de compilation : le second nil semble posser problème. Je pense que le probleme vient de la vari ShellExecute [ par eric_delphi_man ] Voici mon programme( Application console) pour lancer automatiquement mon logiciel, et il ne marche pas je ne comprend pas merci de me donner la repon 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


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements



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