# WinHelp

Microsoft WinHelp è un formato proprietario usato per i file di aiuto in linea che possono essere visualizzati tramite il browser Microsoft Help winhelp.exe o winhlp32.exe ed il formato del file si basa su Rich Text Format (RTF). Esso rimase una popolare modalità di aiuto dalla versione del S.O. Windows 3.0 fino alla versione Windows XP. WinHelp fu rimosso in Windows Vista per disincentivare gli sviluppatori software dall'usare una versione obsoleta del formato e incoraggiare l'uso di formati di aiuto più recenti.

## Storia

* 1990 - WinHelp 1.0 è fornito con Windows 3.0.
* 1995 - WinHelp 4.0 è fornito con Windows 95 / Windows NT.
* 2006 - Microsoft annuncia la sua intenzione di ritirare gradualmente il supporto a Winhelp . Di conseguenza WinHelp non è disponibile su Windows Vista come applicazione preinstallata. I file di WinHelp possono essere sia a 16 bit che a 32 bit. Windows Vista tratta questo tipo di file in maniera differente, quando viene avviata una applicazione che usa la versione a 32 bit del formato. hlp, Windows avvisa che il formato non è più supportato e reindirizza alla possibilità di scaricare un visualizzatore per i file .hlp a 32 bit dal portale di download di Microsoft Microsoft Download Center. I file di WinHelp in versione a 16 bit WinHelp continuano ad essere mostrati in Windows Vista (solo nella versione 32 bit del S.O.) senza la necessità di scaricare un visualizzatore.
* 14 Ottobre 2009 - Microsoft annuncia la possibilità di scaricare il programma di Windows Help (WinHlp32.exe) per Windows 7 dal portale Microsoft Download Center.
* October 26, 2012 – Microsoft announced the availability of Windows Help program (WinHlp32.exe) for Windows 8 at the Microsoft Download Center.
* November 5, 2013 – Microsoft announced the availability of Windows Help program (WinHlp32.exe) for Windows 8.1 at the Microsoft Download Center.

## Formato del file

Un file WinHelp file è identificato dal suffisso ".hlp" e può essere accompagnato in via opzionale da un file in formato ".cnt" contenente l'indice dei contenuti qualora sia stato creato dallo sviluppatore del file di aiuto. Quando Windows apre un file di WinHelp, crea un file .gid nella stessa cartella o in "%LOCALAPPDATA%\Help", contenente informazioni sul file .hlp così come sulla grandezza della finestra e sulla sua posizione. Qualora l'utente clicchi sulla scheda "Trova" e abiliti l'indicizzazione delle parole chiave, Windows crea un file di indice con l'estensione .fts (full text search).
Negli anni sono stati sviluppati diversi strumenti per de-compilare un file WinHelp e risalire ai suoi documenti d'origine: HPJ, CNT, RTF, BMP, SHG. Un file HPJ è il file di progetto che viene creato e modificato nel programma Help Workshop (o uno strumento di terze parti per la creazione dei file di aiuto). Il file HPJ contiene l'informazione su quale file RTF vadano inclusi nel file di aiuto, contiene inoltre i MAP ID e gli Alias che forniscono i collegamenti dall'applicazione che richiede il file di aiuto, oltre all'aspetto del file di aiuto in linea (dimensione della finestra, pulsanti predefiniti, schema dei colori usati, ecc). Il file CNT file fornisce l'indice dei contenuti per il file di aiuto, mentre un file SHG è un file di grafica di tipo "SHED" che crea essenzialmente una mappa delle chiamate di aiuto per un file grafico (ad es. un file BMP).
Diversi strumenti sono in grado di leggere ed esplorare questo tipo di file. (Vedere, per esempio, Help to RTF e winhelpcgi).
| .hlp | Descrizione del formato del file |
| .hpj | file del progetto (testo semplice?); contenente una lista di tutti i file .rtf da compilare nel file .hlp file e alcune informazioni aggiuntive |
| .cnt | file contenente l'indice dei contenuti. |
| .rtf | il contenuto di testo vero e proprio in formato Rich Text Format |
| .bmp .dib .wmf .shg | file di grafica raster in vari formati: .bmp o. dib, .wmf .shg |
| .fts .ftg | file di ricerca del testo (Full Text Search); usato per la ricerca all'interno del testo dei file di aiuto |
| .ann | file con le annotazioni (testo semplice?) |
| .bmk | file con i segnalibri (testo semplice?) |

## File sorgente e compilazione

I file sorgente necessari per compilare un file .hlp file consistono in uno o più documenti con l'estensione .rtf e un file di aiuto del progetto con estensione .hpj, insieme a tutti i file grafici (.bmp, .wmf, or .shg) che sono usato all'interno del file di aiuto. È anche possibile creare un file di indice opzionale con estensione .cnt per l'uso con il file .hlp.
All'interno dei file .rtf files, gli argomenti sono separati da interruzioni di pagina. Ogni argomento ha una serie di note a piè di pagina che contengono informazioni per il compilatore dell'aiuto:
    # le note contrassegnate con questo simbolo contengono l'ID dell'argomento (usato per creare del collegamenti a quell'argomento).
    $ le note contrassegnate con questo simbolo contengono il nome dell'argomento come appare nell'indice, nell'indice analitico e in altre posizioni.
    K le note contrassegnate con questo simbolo contengono parole chiave per l'indice analitico.
    A le note contrassegnate con questo simbolo contengono parole chiave del tipo "Vedi anche".
    * le note contrassegnate con questo simbolo contengono etichette per la costruzione del file.
    + le note contrassegnate con questo simbolo contengono informazioni sulla sequenza di navigazione.
    ! le note contrassegnate con questo simbolo contengono macro per le voci degli argomenti.
Solo la nota # è indispensabile,tutte le altre sono facoltative.
Il testo in ogni argomento può contenere una formattazione limitata, contenente testo in grassetto, corsivo e colori,non sono invece ammessi né indici né pedici. I salti fra gli argomenti in uno stesso file di Aiuto, appaiono normalmente come testo con doppia sottolineatura (di base in verde, anche se si può cambiare), seguiti dall'ID di un argomento in testo nascosto. I collegamenti a comparsa appaiono nel documento sorgente come testo con una sola sottolineatura (sempre in verde), seguiti da un ID in testo nascosto (Nel file .hlp, i salti appaiono con un testo verde e una sola sottolineatura mentre i collegamenti a comparsa appaiono con un testo verde con una linea di sottolineatura tratteggiata).
Le immagini possono essere aggiunte tramite codici come {bmc image.bmp}. I formati di immagine supportati includono .bmp, .wmf, e .shg (usato per le immagini di mappa, che possono contenere salti o collegamenti a comparsa, attivabili cliccando su specifiche parti dell'immagine).