He visto:
http://www...
ftp://blah.blah...
file://blah.blah...
unreal://blah.blah...
mailto://blah.blah...
¿Cómo se llama esa primera sección donde ves http
y similares?
¿Puedo registrar el mío?
He visto:
http://www...
ftp://blah.blah...
file://blah.blah...
unreal://blah.blah...
mailto://blah.blah...
¿Cómo se llama esa primera sección donde ves http
y similares?
¿Puedo registrar el mío?
Respuestas:
La parte con el HTTP://
, FTP://
, etc son llamados esquemas de URI
Puede registrar la suya a través del registro.
HKEY_CLASSES_ROOT/
your-protocol-name/
(Default) "URL:your-protocol-name Protocol"
URL Protocol ""
shell/
open/
command/
(Default) PathToExecutable
Fuentes: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml , http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
(Default)
aquí significa cadena vacía. No lo tomes literalmente.
Abra el bloc de notas y pegue el siguiente código en él. Cambia "YourApp" por el nombre de tu aplicación. Guárdelo en YourApp.reg y ejecútelo haciendo clic en él en el explorador. ¡Eso es! ¡Salud! Erwin Haantjes
REGEDIT4
[HKEY_CLASSES_ROOT\YourApp]
@="URL:YourApp Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\YourApp\DefaultIcon]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\""
[HKEY_CLASSES_ROOT\YourApp\shell]
[HKEY_CLASSES_ROOT\YourApp\shell\open]
[HKEY_CLASSES_ROOT\YourApp\shell\open\command]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\" \"%1\" \"%2\" \"%3\" \"%4\" \"%5\" \"%6\" \"%7\" \"%8\" \"%9\""
Esto es diferente para cada navegador, en IE y Windows necesita crear lo que llaman un controlador de protocolo conectable.
Los pasos básicos son los siguientes:
Consulte Acerca de los protocolos conectables asincrónicos en MSDN para obtener más detalles sobre el lado de Windows. También hay una muestra en el SDK de Windows.
Un rápido google también mostró este artículo sobre codeproject: http://www.codeproject.com/KB/IP/DataProtocol.aspx .
Finalmente, como agente de seguridad, debo señalar que este código debe ser reforzado. Está en un alto riesgo porque para hacerlo de manera confiable no puede hacerlo en código administrado y tiene que hacerlo en C ++ (supongo que podría usar VB6). Debe considerar si realmente necesita hacer esto y, si lo hace, diseñarlo cuidadosamente y codificarlo de forma segura. Un atacante puede controlar fácilmente el contenido que se le pasa simplemente incluyendo un enlace en una página. Por ejemplo, si tiene un desbordamiento de búfer simple, entonces nadie mejor que haga esto:<a href="custom:foooo{insert long string for buffer overflow here}"> Click me for free porn</a>
Considere seriamente usar strsafe y los nuevos métodos CRT seguros incluidos en los compiladores VC8 y superiores. Consulte http://blogs.msdn.com/michael_howard/archive/2006/02/27/540123.aspx si no tiene idea de lo que estoy hablando.
Aquí hay una lista de los esquemas de URI registrados . Cada uno tiene un RFC, un documento que lo define, que es casi un estándar. El RFC les dice a los desarrolladores de nuevas aplicaciones (como navegadores, clientes ftp, etc.) lo que necesitan para soportar. Si necesita un nuevo protocolo de nivel base, puede usar uno no registrado. Las otras respuestas te dicen cómo. Tenga en cuenta que puede hacer muchas cosas con los protocolos existentes, obteniendo así sus implementaciones existentes.
Para la mayoría de los productos de Microsoft (Internet Explorer, Office, cuadros de diálogo de "abrir archivo", etc.) puede registrar una aplicación para que se ejecute cuando se abre URI con el prefijo apropiado. Esta es una parte de una explicación más común : cómo implementar su propio protocolo.
Se llama el protocolo. Lo único que le impide hacer su propio protocolo es que debe:
Windows hace que el n. ° 1 sea realmente fácil, y en muchos casos esto es todo lo que realmente necesita. Verbigracia:
La primera sección se llama protocolo y sí, puede registrar el suyo. En Windows (donde supongo que está haciendo esto dada la etiqueta C #, lo siento, fanáticos de Mono), se realiza a través del registro .
Un protocolo?
Encontré esto, parece ser una configuración local para una computadora ...
Realmente no tienes que registrarte como tal. He visto muchos programas, como emule, crear su propio protocolo más específico (eso es lo que creo que se llama). Después de eso, básicamente solo tiene que establecer algunos valores en el registro sobre qué programa maneja ese protocolo. No estoy seguro de si hay algún registro oficial de especificadores de protocolo. Realmente no hay mucho que te impida crear tu propio especificador de protocolo para tu propia aplicación si quieres que la gente abra tu aplicación desde su navegador.