Ouverture de fichier CHM sous Windows
  Home FAQ Contact Sign in
fr.comp.lang.perl only
 
Advanced search
POPULAR GROUPS

more...

fr.comp.lang.perl Profile…
 Up
Ouverture de fichier CHM sous Windows         


Author: Paul Gaborit
Date: Feb 21, 2008 08:31

On me demande dans un programme écrit en Perl/Tk d'ajouter une aide en
ligne.

Sous unix, je compte faire une arborescence de fichiers HTML et
appeler le navigateur par défaut pour la consultation.

Sous Windows, on me demande d'utiliser un fichier CHM (il me sera
fourni... ouf!). J'ai donc le chemin du fichier CHM. Mais je ne sais
pas quoi en faire car je ne connais pas la commande Windows standard
qui assure la consultation de ce genre de fichiers.

Auriez-vous une solution ?

Merci.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
8 Comments
Re: Ouverture de fichier CHM sous Windows         


Author: Paul Gaborit
Date: Feb 21, 2008 09:39

À (at) Thu, 21 Feb 2008 18:10:21 +0100,
mdnews écrivait (wrote):
> Rien de spécial à faire car l'extension est déjà associée (à winhlp32
> ou hh) dans windows. Donc un simple:
>
> system 'aide.chm';
>
> ou
>
> system 'start aide.chm';
>
> start permet de lancer le fichier et rend la main

Ok. Je vais tester cette solution.

Merci.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
no comments
Re: Ouverture de fichier CHM sous Windows         


Author: Paul Gaborit
Date: Mar 19, 2008 09:01

À (at) Thu, 21 Feb 2008 18:10:21 +0100,
mdnews écrivait (wrote):
> On Thu, 21 Feb 2008 17:31:50 +0100, Paul Gaborit
> wrote:
>>Sous Windows, on me demande d'utiliser un fichier CHM (il me sera
>>fourni... ouf!). J'ai donc le chemin du fichier CHM. Mais je ne sais
>>pas quoi en faire car je ne connais pas la commande Windows standard
>>qui assure la consultation de ce genre de fichiers.
>>
>>Auriez-vous une solution ?
>
> Rien de spécial à faire car l'extension est déjà associée (à winhlp32
> ou hh) dans windows. Donc un simple:
>
> system 'aide.chm';
>
> ou
>
> system 'start aide.chm';
> ...
Show full article (1.30Kb)
no comments
Re: Ouverture de fichier CHM sous Windows         


Author: Paul Gaborit
Date: Mar 19, 2008 10:45

À (at) Wed, 19 Mar 2008 18:20:02 +0100,
mdnews écrivait (wrote):
> - Ce sont des « ' » et pas « " » (important)
> - Start est juste séparé par un espace du programme qu'il lance

Ok, donc on est obligé de passer par l'interpréteur de commandes en
faisant :

systeme "start lechemindufichier.chm";

et non :

systeme "start", "lechemindufichier.chm";

qui évite de passer par l'interpréteur mais ne fonctionne pas...
> Je viens de retester pour voir
> (petit exemple qui affiche l'aide de ntbackup)
> %%windir%%\system32\ est une variable Windows
>
>
> print "Debut du programme\n";
> system 'start %%windir%%\system32\ntbackup.chm';
> print "Suite - L'aide est toujours affichee\n";
Show full article (1.48Kb)
no comments
Re: Ouverture de fichier CHM sous Windows         


Author: Paul Gaborit
Date: Mar 20, 2008 03:44

À (at) Thu, 20 Mar 2008 11:38:01 +0100,
mdnews écrivait (wrote):
> Paul Gaborit >
>
>> system 'start C:/Program Files/Machin/fichier.chm';
>>
>> l'interpréteur windows coupe après Program !
>
>
> L'interprétation faite par windows est toujours un peu bizarre, car start
> n'est pas un programme, mais une commande interne, du coup passé en
> argument 0 ça ne fonctionne pas.
>
> On peut bricoler en utilisant les noms courts
>
> system ' start C:/Progra~1/Machin/fichier.chm ' ;
>
> (pour connaître le nom court (8+3) d'un fichier ou répertoire)
>
> DIR /X ...
Show full article (0.82Kb)
no comments
Re: Ouverture de fichier CHM sous Windows         


Author: Jean-Louis MOREL
Date: Mar 20, 2008 04:59

Dans l'article ,
Paul.Gaborit@invalid.invalid a dit...
>
>Je veux bien bricoler... mais comment fait-on pour convertir un nom
>long en nom court depuis un script Perl ?
>

Pour convertir un nom long en court, on utilise GetShortPathName du module
Win32 (standard) :

http://www.bribes.org/perl/docfr/win32.html#L23ECFD43

Plus généralement, j'ai bien cherché mais n'ai trouvé aucun module pour le
système d'aide Windows. Alors j'en ai écrit un en vitesse. Il n'est pas
très élaboré mais il permet d'ouvrir un fichier .chm où on veut.
Il s'appelle Win32-HtmlHelp. La doc est minimale.
Semble fonctionner sous XP et Vista (tests minimum).

On peut l'installer avec ppm :

ppm install http://www.bribes.org/perl/ppm/Win32-HtmlHelp.ppd

À essayer, en espérant que ça aide.
Toute suggestion est bienvenue.
Show full article (0.90Kb)
no comments
Re: Ouverture de fichier CHM sous Windows         


Author: Paul Gaborit
Date: Mar 20, 2008 07:27

À (at) 20 Mar 2008 11:59:16 GMT,
jl_morel@bribes.org (Jean-Louis MOREL) écrivait (wrote):
> Dans l'article ,
> Paul.Gaborit@invalid.invalid a dit...
>>
>>Je veux bien bricoler... mais comment fait-on pour convertir un nom
>>long en nom court depuis un script Perl ?
>>
>
> Pour convertir un nom long en court, on utilise GetShortPathName du module
> Win32 (standard) :
>
> http://www.bribes.org/perl/docfr/win32.html#L23ECFD43

Malheureusement oui...
Show full article (1.52Kb)
no comments
Re: Ouverture de fichier CHM sous Windows         


Author: M
Date: Mar 20, 2008 11:57

Paul Gaborit a écrit :
> À (at) Thu, 20 Mar 2008 11:38:01 +0100,
> mdnews écrivait (wrote):
>> Paul Gaborit >
>>
>>> system 'start C:/Program Files/Machin/fichier.chm';
>>>
>>> l'interpréteur windows coupe après Program !
>>
>> L'interprétation faite par windows est toujours un peu bizarre, car start
>> n'est pas un programme, mais une commande interne, du coup passé en
>> argument 0 ça ne fonctionne pas.
>>
>> On peut bricoler en utilisant les noms courts
>>
>> system ' start C:/Progra~1/Machin/fichier.chm ' ;
>>
>> (pour connaître le nom court (8+3) d'un fichier ou répertoire)
>>
>> DIR /X ...
Show full article (1.11Kb)
no comments
Re: Ouverture de fichier CHM sous Windows         


Author: Klaus
Date: May 11, 2008 03:21

On Mar 19, 7:45 pm, Paul Gaborit wrote:
>
> Or, si je passe brutalement :
>
> system 'start C:/Program Files/Machin/fichier.chm';
>
> l'interpréteur windows coupe après Program !

Voici comment se protéger contre des blancs :

si le système d'exploitation est Windows, alors
utiliser des guillemets pour se protéger contre des blancs
sinon
mettre systématiquement des anti-slash "\" devant les blancs

Malheureusement, chaque système d'exploitation a sa propre méthode
pour se protéger contre les blancs: --> la méthode Windows ne marche
pas sous Unix et la méthode ne marche pas sous Windows.

je propose donc :

my $fic = q{C:/Program Files/Machin/fichier.chm};
Show full article (0.85Kb)
no comments

RELATED THREADS
SubjectArticles qty Group
Re: Ouverture fichier.microsoft.public.fr.windowsxp ·