Questa non la sapevo ed è stata una scoperta
interessante e molto utile.
Internet Explorer supporta diversi protocolli, tra cui il protocollo res (Qui un articolo interessante del lontano gennaio 1999
di Dino
Esposito). Il protocollo res consente di estrarre
una risorsa Win32 da una dll o da un eseguibile. Quindi, se per esempio abbiamo
un'applicazione che ospita Internet Explorer (ad es. IMHO
), possiamo dare in pasto al browser qualsiasi tipo di file senza
renderlo facilmente fruibile e modificabile dall'utente (ad esempio un'immagine, un
foglio di stile, del codice javascript). Questo semplicemente linkando la
risorsa con la seguente sintassi:
res://[posizioneFisicaDelFileContenenteLaRisorsa]/[TipoDiRisorsa]/[NomeDellaRisorsa]
Quindi, ad esempio:
<img src="res://c:\Programmi\MioProgramma\Sample.dll/GIF/Logo.gif">
Rimane solo una questione... come includere una risorsa Win32 in un
eseguibile/assembly .net?
Vi sono tre strade:
- Creando un file RES con il Resource Compiler e
includendolo nell'exe/dll con il parametro di compilazione /win32res
- Aprendo l'eseguibile/assembly con visual studio
(Resource Editor) e aggiungendo le risorse
- Utilizzando un software free come suggerito da questo articolo (del lontano dicembre 2002... ma dove sono stato
tutto questo tempo?!?)
Personalmente, dopo aver provato la seconda (il resources
editor di vs risulta poco funzionale), ho optato per la terza ipotesi.
powered by IMHO 1.2 with Emoticon Formatter