Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

question con concernant les extension et programme associé.

8 réponses
Avatar
Simplet né sous X
bonjour

voila, j'ai un programme que j'ai developper sous delphi et j'aimerai
savoir s'il est possible sous windows de lancer un fichier pas en
fonction de l'extension mais en fonction du nom complet.

Exemple :
*.xml, lance le programme associé a l'extension

or je cherche a lancer en fonction du nom complet :
configure.xml

configure.xml sera lancé par mon executable mais ne sera pas lié a
l'extension.

Je sais que l'ai la possibilité de creer ma propre extension et de
l'associer a mon programme mais ca manque j'aime pas trop.

Merci de votre aide.

--
Un mot mal formé a tout autant le droit de vivre qu'un autre.
Il ne vous viendrai jamais a l'idee de dire a quelqu'un en public "Il te manque un bras" ou "tu ressemble a elephant man".

8 réponses

Avatar
Fabrice [MVP]
"Simplet né sous X" a écrit dans le
message de news:
bonjour

voila, j'ai un programme que j'ai developper sous delphi et j'aimerai
savoir s'il est possible sous windows de lancer un fichier pas en
fonction de l'extension mais en fonction du nom complet.

Exemple :
*.xml, lance le programme associé a l'extension

or je cherche a lancer en fonction du nom complet :
configure.xml

configure.xml sera lancé par mon executable mais ne sera pas lié a
l'extension.

Je sais que l'ai la possibilité de creer ma propre extension et de
l'associer a mon programme mais ca manque j'aime pas trop.

Merci de votre aide.

--
Un mot mal formé a tout autant le droit de vivre qu'un autre.
Il ne vous viendrai jamais a l'idee de dire a quelqu'un en public "Il te
manque un bras" ou "tu ressemble a elephant man".



Bonsoir,

Voyez le sens inverse... en voulant faire cela vous mettez en l'aire toute
la logique des extensions.
Si ce fichier est bien un fichier XML il doit être vue par IE par le lecteur
par défaut.
Tous les programmes respectent cette règle.
Regardez à titre d'exemple les fichiers suivant sur votre PC :
.cfg
.ini
.xml

Et pour être standard, si votre programme c'est toto.exe, faite un toto.xml
ou toto.ini ect.. tout le monde alors comprend rien qu'en regardant le nom,
que l'on a à faire au fichier d'initialisation, ou de configuration du
programme toto.

--
Fabrice
Microsoft MVP
http://www.fab3d.fr.st
Faq Windows XP :
http://a.vouillon.online.fr/faq-winxp.htm

Avatar
Simplet né sous X
On Mon, 28 Jan 2008 21:29:53 +0100, "Fabrice [MVP]"
wrote:

Voyez le sens inverse... en voulant faire cela vous mettez en l'aire toute
la logique des extensions.
Si ce fichier est bien un fichier XML il doit être vue par IE par le lecteur
par défaut.
Tous les programmes respectent cette règle.
Regardez à titre d'exemple les fichiers suivant sur votre PC :
.cfg
.ini
.xml



Mais le fichier configure.xml est un fichier XML
Seulement il est ouvert par defaut avec IE
Or je souhaite que ce fichier (et seulement celui là) soit ouvert avec
un autre programme en cliquant dessus


--
Un mot mal formé a tout autant le droit de vivre qu'un autre.
Il ne vous viendrai jamais a l'idee de dire a quelqu'un en public "Il te manque un bras" ou "tu ressemble a elephant man".

Avatar
Jacquouille la Fripouille
*Bonjour Simplet né sous X*
Tu as pianoté sur ton clavier dans
<news: pour écrire ceci :


Mais le fichier configure.xml est un fichier XML
Seulement il est ouvert par defaut avec IE
Or je souhaite que ce fichier (et seulement celui là) soit ouvert avec
un autre programme en cliquant dessus


Seule solution : clic droit / Ouvrir avec.
--
Jacquouille la Fripouille

Avatar
Jean-Claude BELLAMY
"Simplet né sous X" a écrit dans le
message de news:
bonjour

voila, j'ai un programme que j'ai developper sous delphi et j'aimerai
savoir s'il est possible sous windows de lancer un fichier pas en
fonction de l'extension mais en fonction du nom complet.

Exemple :
*.xml, lance le programme associé a l'extension

or je cherche a lancer en fonction du nom complet :
configure.xml

configure.xml sera lancé par mon executable mais ne sera pas lié a
l'extension.

Je sais que l'ai la possibilité de creer ma propre extension et de
l'associer a mon programme mais ca manque j'aime pas trop.



Cela me semble assez folklo comme démarche, mais tu dois avoir tes raisons !
;-)

L'association d'un fichier sous Windows est liée à l'extension et çà c'est
codé "en dur" dans le système, donc ce principe est non modifiable (à moins
de réécrire Windows !)

Mais dns ton cas, vu que tu "maitrises" l'exécutable concerné, on peut
contourner cela.
Il y a quelques manips préalables à effectuer :

1) Dans la BDR, branche HKCR, dupliquer la clef ".xml" en ".xml2" (p.ex., il
suffit que le nouveau nom n'existe pas et ne risqeu pas d'exister), idem
pour la clef dérivée "xmlfile" dupliquée en "xmlfile2"
Évidemment, la valeur par défaut de HKCR.xml2 sera égale à ""xmlfile2"

2) Associer l'extension .xml à ton programme, ce qui signifie entre autres
que la valeur par défaut de
HKCRxmlfileshellopencommand
contiendra (p.ex.) :
"k:mes programmes à moi que j'aima gluteradada.exe" "%1"

3) Modifier le début de ton programme en ce qui concerne le traitement des
paramètres transmis.
A savoir :
- si on détecte dans le nom du fichier "configure.xml",
on continue le traitement.

- sinon (fichier .xml "lambda"), on va repasser le "bébé"
à l'application qui était chargée auparavant du traitement
des .xml
Pour cela, on va utiliser , au choix :
la fonction "AssocQueryString"
la fonction "AssocQueryStringByKey"
les fonctions "Regxxxxxx" d'exploration de la BDR



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org

Avatar
Fabrice [MVP]
Mais le fichier configure.xml est un fichier XML
Seulement il est ouvert par defaut avec IE
Or je souhaite que ce fichier (et seulement celui là) soit ouvert avec
un autre programme en cliquant dessus



J'ai bien compris, mais cela n'a pas de logique.
Imaginez vous une seconde, qu'une autre personne fasse un prog avec un
fichier de conf : configure.xml.
Alors... ça donnerais quoi ?
Ce que vous voulez faire, n'est pas à mon sens une bonne idée, c'est ce que
je voulais vous dire par le premier message.

--
Fabrice
Microsoft MVP
http://www.fab3d.fr.st
Faq Windows XP :
http://a.vouillon.online.fr/faq-winxp.htm

Avatar
Fred
"Simplet né sous X" a écrit dans le
message de news:
bonjour


Bonsoir,

voila, j'ai un programme que j'ai developper sous delphi et j'aimerai
savoir s'il est possible sous windows de lancer un fichier pas en
fonction de l'extension mais en fonction du nom complet.


Juste une piste.

Tu peux peut-être t'inspirer de la manière dont Windows ouvre les
fichiers XML Word, Excel ... 2003.

ex : un doc word enregistré en 2003/xml commence par les deux lignes
suivantes :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>

La première ligne est classique.
La seconde suffit à ce que Windows associe une icone différente au
fichier et lance Word sur un double-clic.

À creuser ...

Avatar
Simplet né sous X
On Tue, 29 Jan 2008 20:02:45 +0100, "Fabrice [MVP]"
wrote:

Mais le fichier configure.xml est un fichier XML
Seulement il est ouvert par defaut avec IE
Or je souhaite que ce fichier (et seulement celui là) soit ouvert avec
un autre programme en cliquant dessus



J'ai bien compris, mais cela n'a pas de logique.
Imaginez vous une seconde, qu'une autre personne fasse un prog avec un
fichier de conf : configure.xml.
Alors... ça donnerais quoi ?


La meme chose que si j'utilisais ma propre extension (exemple *.abc)
Quelqu'un l'a peut etre deja uilisé.

--
Un mot mal formé a tout autant le droit de vivre qu'un autre.
Il ne vous viendrai jamais a l'idee de dire a quelqu'un en public "Il te manque un bras" ou "tu ressemble a elephant man".


Avatar
Fabrice [MVP]
"Simplet né sous X" a écrit dans le
message de news:
On Tue, 29 Jan 2008 20:02:45 +0100, "Fabrice [MVP]"
wrote:

Mais le fichier configure.xml est un fichier XML
Seulement il est ouvert par defaut avec IE
Or je souhaite que ce fichier (et seulement celui là) soit ouvert avec
un autre programme en cliquant dessus



J'ai bien compris, mais cela n'a pas de logique.
Imaginez vous une seconde, qu'une autre personne fasse un prog avec un
fichier de conf : configure.xml.
Alors... ça donnerais quoi ?


La meme chose que si j'utilisais ma propre extension (exemple *.abc)
Quelqu'un l'a peut etre deja uilisé.



Possible, mais c'est plus logique.
C'est pour cela qu'il y a déjà des reflexes avec les fichiers de config.
Comme je vous ai dit :
.cfg
.ini
.xml
.dat

--
Fabrice
Microsoft MVP
http://www.fab3d.fr.st
Faq Windows XP :
http://a.vouillon.online.fr/faq-winxp.htm