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

Question sur html help workshop

2 réponses
Avatar
ringo44
Bonjour, j'ai créé un fichier d'aide avec le logiciel html help workshop nommé aide.chm sur un chemin C:/Aide pour un logiciel/aide.chm. La question que je me pose est la suivante si cette aide est créée sur ce chemin par exemple sur mon ordi personnel et liée à un logiciel installable par un client. Le client si il installe mon logiciel ne pourra pas avoir mon aide car il ne l'installera pas forcément au même chemin. Donc je voulais savoir si ce logiciel pouvait modifier les chemins?Merci.

2 réponses

Avatar
marc
ringo44 a écrit :
Bonjour, j'ai cree un fichier d'aide avec le logiciel html help workshop nommee
aide.chm sur un chemin C:/Aide pour un logiciel/aide.chm. La question que je me
pose est la suivante si cette aide est creee sur ce chemin par exemple su r mon
ordi personnel et liee a un logiciel installable par un client. Le client si il
installe mon logiciel ne pourra pas avoir mon aide car il ne l'installera pas
forcement au meme chemin. Donc je voulais savoir si ce logiciel pouvait m odifier
les chemins?Merci.



Tu installes le programme ou tu veux, tu recuperes le repertoire
d'install ou tu auras installé ton fichier d'aide.
si c'est c:toto, ca sera c:totoaide.chm (on ne met jamais un chemin
en dur)
Avatar
Jean-Claude BELLAMY
"ringo44" a écrit dans le message de
news:
Bonjour, j'ai créé un fichier d'aide avec le logiciel html help workshop
nommé
aide.chm sur un chemin C:/Aide pour un logiciel/aide.chm. La question que
je me
pose est la suivante si cette aide est créée sur ce chemin par exemple sur
mon
ordi personnel et liée à un logiciel installable par un client. Le client
si il
installe mon logiciel ne pourra pas avoir mon aide car il ne l'installera
pas
forcément au même chemin. Donc je voulais savoir si ce logiciel pouvait
modifier
les chemins?Merci.





Tout bon programme d'installation (InstallShield, InnoSetup, ...) installe
tous les fichiers en relatif, dans le dossier "racine" de l'appli choisi par
l'utilisateur (qui peut être, éventuellement, prédéfini).
C'est donc à toi de définir l'emplacement relatif du fichier d'aide par
rapport à l'exécutable.
Généralement, c'est le dossier courant ou un sous dossier nommé p.ex. "docs"
, "help", ...


Donc si l'utilisateur a choisi comme dossier cible "k:programmes à la
conringo44superprogramme", le fichier d'aide aura automatiquement comme
emplacement "k:programmes à la conringo44superprogrammehelpaide.chm".


Au niveau de l'application, le lien avec le fichier d'aide se fait à l'aide
de la fonction "HtmlHelp"
En VB :
Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
(ByVal hwndCaller As Long, ByVal pszFile As String, _
ByVal uCommand As Long, ByVal dwData As Long) As Long
En Delphi :
function HtmlHelp(hwndCaller: HWND; pszFile: PChar;
uCommand: UInt; dwData: DWORD): HWND; stdcall;
external 'HHCTRL.OCX' name 'HtmlHelpA';
En C :
HWND WINAPI HtmlHelpA(HWND hwndCaller,
LPCSTR pszFile, UINT uCommand, DWORD_PTR dwData);
...

pszFile va contenir le chemin ABSOLU du fichier d'aide, lequel aura été
calculé à partir de celui de l'exécutable


P.ex. dans mon appli SuperExec on trouve ceci :

HelpShortName : string ='superexec.chm';
...
//extrait le chemin du nom complet de l'exécutable (avec "" final)
CurrentDir:=ExtractFilePath(paramstr(0));
// CurLangSubdir contient le nom du sous-répertoire "linguistique",
p.ex. "français" ou "english"
HelpFullName:=CurrentDir+CurLangSubdir+''+HelpShortName;
...
HtmlHelp(Application.Handle,pchar(HelpFullName),HH_HELP_CONTEXT,HH_LICENSE);
...


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