una restaurar quitar que puedo programas programa predeterminados predeterminado para pagina obtener cómo con como certificado cambiar archivos archivo abrir abre windows protocols protocol-handler

quitar - restaurar programas predeterminados windows 7



¿Cómo creo mi propio protocolo de URL?(por ejemplo://…) (9)

Abra el bloc de notas y pegue el siguiente código en él. Cambie "YourApp" en el nombre de su aplicación. Guárdelo en YourApp.reg y ejecútelo haciendo clic en él en el explorador. ¡Eso es! ¡Aclamaciones! 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/""

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 se ve http y similares?

¿Puedo registrar mi propia cuenta?


Aquí hay una lista de los esquemas 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 admitir. Si necesita un nuevo protocolo de nivel básico, 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.


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:

  1. Implementar la interfaz IInternetProtocol.
  2. Implementar la interfaz IInternetProtocolRoot.
  3. Implementar la interfaz IClassFactory.
  4. Opcional. Implementar la interfaz IInternetProtocolInfo. El controlador de transacciones proporciona soporte para el protocolo HTTP.
  5. Si se implementa IInternetProtocolInfo, proporcione soporte para PARSE_SECURITY_URL y PARSE_SECURITY_DOMAIN para que el administrador de la zona de seguridad de URL pueda manejar la seguridad adecuadamente. Escriba el código para su controlador de protocolo.
  6. Proporcionar soporte para BINDF_NO_UI y BINDF_SILENTOPERATION.
  7. Agregue una subclave para su controlador de protocolo en el registro bajo HKEY_CLASSES_ROOT / PROTOCOLS / Handler.
  8. Cree un valor de cadena, CLSID, debajo de la subclave y establezca la cadena en el CLSID de su controlador de protocolo.

Consulte Acerca de los protocolos conectables asíncronos en MSDN para obtener más detalles sobre el lado de las ventanas. También hay una muestra en el SDK de Windows.

Un rápido google también mostró este artículo en codeproject: http://www.codeproject.com/KB/IP/DataProtocol.aspx .

Finalmente, como persona de seguridad, debo señalar que este código debe ser reforzado en la batalla. Es un alto riesgo porque 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 con cuidado y codificarlo de manera 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 es mejor que nadie haga esto: <a href="custom:foooo{insert long string for buffer overflow here}"> Click me for free porn</a>

Considere seriamente el uso de strsafe y los nuevos métodos de CRT seguros incluidos en el VC8 y en los compiladores anteriores. Consulte http://blogs.msdn.com/michael_howard/archive/2006/02/27/540123.aspx si no tiene idea de lo que estoy hablando.



La primera sección se llama protocolo y sí puedes registrar el tuyo. En Windows (donde asumo que estás haciendo esto dada la etiqueta C # - lo siento fanáticos de Mono), se hace a través del registro .


Para la mayoría de los productos de Microsoft (Internet Explorer, Office, diálogos de "abrir archivo", etc.) puede registrar una aplicación para que se ejecute cuando se abra el URI con el prefijo apropiado. Esto es parte de una explanation más común: cómo implementar su propio protocolo.

Para Mozilla la explicación está here , Java - here .


Realmente no tienes que hacer ningún registro como tal. He visto muchos programas, como emule, que crean su propio protocolo más específico (así es como creo que se llama). Después de eso, básicamente solo tiene que establecer algunos valores en el registro en cuanto a qué programa maneja ese protocolo. No estoy seguro de si hay algún registro oficial de especificadores de protocolo. Realmente no hay mucho que le impida crear su propio especificador de protocolo para su propia aplicación si desea que la gente abra su aplicación desde su navegador.


Se llama el protocolo. Lo único que te impide crear tu propio protocolo es que debes:

  1. Escriba un navegador o agente de usuario de algún tipo que entienda ese protocolo, tanto en su forma de URL como en el formato de datos real
  2. Escribe un servidor que entienda ese protocolo
  3. Preferiblemente, tenga una especificación para el protocolo para que el navegador y el servidor puedan continuar trabajando juntos.

Windows hace que el # 1 sea realmente fácil, y en muchos casos esto es todo lo que realmente necesita. Verbigracia:

Registro de una aplicación a un protocolo de URL