El protocolo res: no está muerto y sigue siendo una excelente manera de incrustar páginas web en aplicaciones de Windows utilizando un control WebBrowser
. Desafortunadamente, me parece que hay dos tipos de recursos en archivos exe y dll: recursos C y recursos .net. Es posible incrustar recursos de C en un dll de .net pero todavía no he resuelto cómo hacerlo.
Para responder a su pregunta, el protocolo res se documenta en here pero en realidad la construcción de la DLL o EXE es la parte difícil. El protocolo de res es bastante simple. La esencia básica es especificar res: //, seguir eso por la ruta al ejecutable o dll (solo el nombre dll si está en la ruta actual). Para los recursos de tipo HTML, siga eso con el nombre del archivo. Aquí hay un artículo reciente de MSDN que habla sobre algunos problemas conocidos con el protocolo res: http://support.microsoft.com/kb/220830.
Crear los recursos dll o exe puede ser un poco complicado. Para obtener resultados más fáciles, cree todos sus recursos de tipo HTML (incluso sus archivos .js, .png, .jpg). En lugar de nombrar sus recursos con un #identificador de recursos definido, los archivos de resolución modernos le permiten nombrar los archivos con una cadena. Hacer esto hará que tu vida sea mucho más fácil.
Consejo avanzado: Tener nombres de las carpetas en el nombre del recurso es complicado; No lo he pensado todavía. Creo que puede simular carpetas poniendo barras en el nombre del recurso, pero creo que el protocolo de res se confunde con las barras al pensar que la primera parte de la ruta es el tipo de recurso. Especificar explícitamente el tipo de recurso puede aliviar esto.
Sugerencia avanzada 2: Para la ruta, las versiones más nuevas de IE pueden tratar con el carácter '\', pero puede usar '% 5C' como sustituto de '\' si necesita especificar el valor absoluto o relativo ubicación del dll o exe.
Recursos adicionales:
MSDN Social: Webbrowser and res: protocol
DelphiDabbler: How to create and use HTML resource files
He conseguido que esto funcione anteriormente, pero he olvidado el formato para el protocolo URL w/res: //. – user144051
¿Hay actualizaciones disponibles? –