1 - Como vincular un protocolo a una aplicacion? (Please Urgente)

31/07/2003 - 06:03 por Prof. Roberto A. Berrospe Machin. | Informe spam
Hola Unos!
Tengo que hacer una aplicacion que me vincule una aplicacion a un protocolo
y que me acepte tambien como parametro la unidad.

Por ejemplo. Cuando yo ponga en el explorer algo como:

editor:c:\test.txt

y el explorador me abra el notepad con el fichero c:\test.txt


editor, seria el protocolo en este caso y c:\test.txt el camino y el archivo
a abrir.

Lo Ideal seria. editor://c:\test.txt

pero de la otra forma me sirve igual :)

En la pagina en ingles de microsoft consegui esto...

Esta es la direccion:
http://msdn.microsoft.com/library/d...ndix_a.asp

aqui da como ejemplo que agrege esto en el registro:

[HKEY_CLASSES_ROOT]
[note]
(Default) = "URL:Note Protocol"
URL Protocol = ""
[DefaultIcon]
(Default) = "notepad.exe"
[shell]
[open]
[command]
(Default) = "c:\windowsotepad.exe %1"


supuestamente con esto, al poner en el explorador: note:c:\test.txt
se tendria que abrir el notepad y abrirme el archivo.

Pero resulta que lo probe y no me abre nada. si no que me da un mensaje que
dice
que no se encuentra "note:c:\test.txt"
entonces, parece que si se abre el notepad, pero le esta pasando como
parametros toda la direccion. y bueno.. esto es sollucionable con
aplicaciones propias, ya que se puede eliminar el note: y tomar como
parametro solo C:\TEST.TXT.
Pero no funca con aplicaciones normales.

Alguien ha hecho algo de esto? les agradeceria la ayuda.

Saludos.

Prof. Roberto A. Berrospe Machin.

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
31/07/2003 - 07:15 | Informe spam
Hola, Profe:

El asunto es que el nombre del protocolo pasa como parte del argumento al
programa asociado.

Notó Ud. que notepad le dice que no puede localizar el archivo
"note:c:\autoexec.bat".

Eso significa que el programa encargado de "manejar" las solicitudes de ese
protocolo debe poder manejar la referencia al protocolo en cuestion como
parte del argumento.

Si escribe un programa, llamémosle "prenotepad.exe", que se limite a lo
siguiente:

Sub Main
Dim sArg as String
sArg = Right(Command, Len(Command) - 5)
' len(note:) = 5
' creo que con un poquito de complejidad adicional
' podría manejar tambien note://
Shell("NOTEPAD.EXE " & sArg)
End Sub

y asocia el protocolo note: con prenotepad.exe, su asociación de protocolo
funcionará al pelo.

Espero haber solucionado su urgencia, y que tenga Ud. muy buenas noches.

Salud!

Leonardo
[MS MVP - VB]



"Prof. Roberto A. Berrospe Machin."
escribió en el mensaje news:#
Hola Unos!
Tengo que hacer una aplicacion que me vincule una aplicacion a un


protocolo
y que me acepte tambien como parametro la unidad.

Por ejemplo. Cuando yo ponga en el explorer algo como:

editor:c:\test.txt

y el explorador me abra el notepad con el fichero c:\test.txt


editor, seria el protocolo en este caso y c:\test.txt el camino y el


archivo
a abrir.

Lo Ideal seria. editor://c:\test.txt

pero de la otra forma me sirve igual :)

En la pagina en ingles de microsoft consegui esto...

Esta es la direccion:



http://msdn.microsoft.com/library/d...king/plugg
able/overview/appendix_a.asp

aqui da como ejemplo que agrege esto en el registro:

[HKEY_CLASSES_ROOT]
[note]
(Default) = "URL:Note Protocol"
URL Protocol = ""
[DefaultIcon]
(Default) = "notepad.exe"
[shell]
[open]
[command]
(Default) = "c:\windowsotepad.exe %1"


supuestamente con esto, al poner en el explorador: note:c:\test.txt
se tendria que abrir el notepad y abrirme el archivo.

Pero resulta que lo probe y no me abre nada. si no que me da un mensaje


que
dice
que no se encuentra "note:c:\test.txt"
entonces, parece que si se abre el notepad, pero le esta pasando como
parametros toda la direccion. y bueno.. esto es sollucionable con
aplicaciones propias, ya que se puede eliminar el note: y tomar como
parametro solo C:\TEST.TXT.
Pero no funca con aplicaciones normales.

Alguien ha hecho algo de esto? les agradeceria la ayuda.

Saludos.

Prof. Roberto A. Berrospe Machin.


Respuesta Responder a este mensaje
#2 Prof. Roberto A. Berrospe Machin.
31/07/2003 - 18:26 | Informe spam
Jeje, gracias. Eso fue lo que comente que yo ya había podido hacer. :)
pero capas que existía alguna forma de que me pasara como parámetros solo el
camino
no el protocolo :)

Gracias de toda formas por tu rápida contestación.

:)

Saludos.

"Leonardo Azpurua" <l a z p u r u a g (arroba) c a n t v (punto) n e t>
escribió en el mensaje news:
Hola, Profe:

El asunto es que el nombre del protocolo pasa como parte del argumento al
programa asociado.

Notó Ud. que notepad le dice que no puede localizar el archivo
"note:c:\autoexec.bat".

Eso significa que el programa encargado de "manejar" las solicitudes de


ese
protocolo debe poder manejar la referencia al protocolo en cuestion como
parte del argumento.

Si escribe un programa, llamémosle "prenotepad.exe", que se limite a lo
siguiente:

Sub Main
Dim sArg as String
sArg = Right(Command, Len(Command) - 5)
' len(note:) = 5
' creo que con un poquito de complejidad adicional
' podría manejar tambien note://
Shell("NOTEPAD.EXE " & sArg)
End Sub

y asocia el protocolo note: con prenotepad.exe, su asociación de protocolo
funcionará al pelo.

Espero haber solucionado su urgencia, y que tenga Ud. muy buenas noches.

Salud!

Leonardo
[MS MVP - VB]



"Prof. Roberto A. Berrospe Machin."
escribió en el mensaje news:#
> Hola Unos!
> Tengo que hacer una aplicacion que me vincule una aplicacion a un
protocolo
> y que me acepte tambien como parametro la unidad.
>
> Por ejemplo. Cuando yo ponga en el explorer algo como:
>
> editor:c:\test.txt
>
> y el explorador me abra el notepad con el fichero c:\test.txt
>
>
> editor, seria el protocolo en este caso y c:\test.txt el camino y el
archivo
> a abrir.
>
> Lo Ideal seria. editor://c:\test.txt
>
> pero de la otra forma me sirve igual :)
>
> En la pagina en ingles de microsoft consegui esto...
>
> Esta es la direccion:
>



http://msdn.microsoft.com/library/d...king/plugg
able/overview/appendix_a.asp
>
> aqui da como ejemplo que agrege esto en el registro:
>
> [HKEY_CLASSES_ROOT]
> [note]
> (Default) = "URL:Note Protocol"
> URL Protocol = ""
> [DefaultIcon]
> (Default) = "notepad.exe"
> [shell]
> [open]
> [command]
> (Default) = "c:\windowsotepad.exe %1"
>
>
> supuestamente con esto, al poner en el explorador: note:c:\test.txt
> se tendria que abrir el notepad y abrirme el archivo.
>
> Pero resulta que lo probe y no me abre nada. si no que me da un mensaje
que
> dice
> que no se encuentra "note:c:\test.txt"
> entonces, parece que si se abre el notepad, pero le esta pasando como
> parametros toda la direccion. y bueno.. esto es sollucionable con
> aplicaciones propias, ya que se puede eliminar el note: y tomar como
> parametro solo C:\TEST.TXT.
> Pero no funca con aplicaciones normales.
>
> Alguien ha hecho algo de esto? les agradeceria la ayuda.
>
> Saludos.
>
> Prof. Roberto A. Berrospe Machin.
>
>


Respuesta Responder a este mensaje
#3 Victor Koch
31/07/2003 - 23:41 | Informe spam
Jeje, este grupo es mejor que una escuelita, claro, dependiendo de los
profesores de esa escuelita.

Un saludo, Víctor Koch.


"Leonardo Azpurua" <l a z p u r u a g (arroba) c a n t v (punto) n e t>
escribió en el mensaje news:
Hola, Profe:

El asunto es que el nombre del protocolo pasa como parte del argumento al
programa asociado.

Notó Ud. que notepad le dice que no puede localizar el archivo
"note:c:\autoexec.bat".

Eso significa que el programa encargado de "manejar" las solicitudes de


ese
protocolo debe poder manejar la referencia al protocolo en cuestion como
parte del argumento.

Si escribe un programa, llamémosle "prenotepad.exe", que se limite a lo
siguiente:

Sub Main
Dim sArg as String
sArg = Right(Command, Len(Command) - 5)
' len(note:) = 5
' creo que con un poquito de complejidad adicional
' podría manejar tambien note://
Shell("NOTEPAD.EXE " & sArg)
End Sub

y asocia el protocolo note: con prenotepad.exe, su asociación de protocolo
funcionará al pelo.

Espero haber solucionado su urgencia, y que tenga Ud. muy buenas noches.

Salud!

Leonardo
[MS MVP - VB]



"Prof. Roberto A. Berrospe Machin."
escribió en el mensaje news:#
> Hola Unos!
> Tengo que hacer una aplicacion que me vincule una aplicacion a un
protocolo
> y que me acepte tambien como parametro la unidad.
>
> Por ejemplo. Cuando yo ponga en el explorer algo como:
>
> editor:c:\test.txt
>
> y el explorador me abra el notepad con el fichero c:\test.txt
>
>
> editor, seria el protocolo en este caso y c:\test.txt el camino y el
archivo
> a abrir.
>
> Lo Ideal seria. editor://c:\test.txt
>
> pero de la otra forma me sirve igual :)
>
> En la pagina en ingles de microsoft consegui esto...
>
> Esta es la direccion:
>



http://msdn.microsoft.com/library/d...king/plugg
able/overview/appendix_a.asp
>
> aqui da como ejemplo que agrege esto en el registro:
>
> [HKEY_CLASSES_ROOT]
> [note]
> (Default) = "URL:Note Protocol"
> URL Protocol = ""
> [DefaultIcon]
> (Default) = "notepad.exe"
> [shell]
> [open]
> [command]
> (Default) = "c:\windowsotepad.exe %1"
>
>
> supuestamente con esto, al poner en el explorador: note:c:\test.txt
> se tendria que abrir el notepad y abrirme el archivo.
>
> Pero resulta que lo probe y no me abre nada. si no que me da un mensaje
que
> dice
> que no se encuentra "note:c:\test.txt"
> entonces, parece que si se abre el notepad, pero le esta pasando como
> parametros toda la direccion. y bueno.. esto es sollucionable con
> aplicaciones propias, ya que se puede eliminar el note: y tomar como
> parametro solo C:\TEST.TXT.
> Pero no funca con aplicaciones normales.
>
> Alguien ha hecho algo de esto? les agradeceria la ayuda.
>
> Saludos.
>
> Prof. Roberto A. Berrospe Machin.
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida