Noté que cierto programa funciona de manera especial al enviar un argumento.
La única forma de enviar un argumento es haciendo clic en "Inicio -> Ejecutar..." y escribiendo:
[programname]:[argument]
por ejemplo (que de todos modos no funciona)
notepad:textfile.txt
Si intento hacer lo mismo desde una ventana de línea de comandos, no funciona. Tampoco lo hace el "argumento del nombre del programa". Debo poder abrir el programa con un argumento de un sitio web (con Wscript Shell, que es otra historia), pero probablemente esto no funcione.
¿Alguien tiene idea de cómo funciona esta extraña sintaxis de dos puntos?
ACTUALIZACIÓN: Según lo solicitado, aquí hay un ejemplo real:
AGS:pref.serv01.com(ARG1:ARG2)
Esa es la sintaxis exacta, lo que hace que el programa abra la información específica para ARG1 y ARG2. AGS es sólo el nombre del programa que es un programa normal de Windows.
Respuesta1
ElCorrer...El diálogo no se limita a archivos locales: también acepta todos los esquemas de URI 1 registradoen el sistema Por ejemplo, puede abrir http:
o ftp:
direcciones en él. Es posible que algún programa simplemente haya registrado el AGS:
esquema URI para este propósito. (El URI completo se pasa sin modificar al programa, que puede aplicar sus propias reglas de análisis).
Eche un vistazo a la HKEY_CLASSES_ROOT\AGS
clave en el Editor del Registro y vea si dice algo sobre su programa, si tiene un valor llamado " URL Protocol
" y shell\open\command
a qué apunta la subclave.
1 Windows los llama "protocolos URL", lo cual no es del todo correcto.
Respuesta2
El carácter de dos puntos se utiliza para referirse aFlujos de datos alternativosen NTFS. Tal vez su programa tenga flujos de datos ocultos con ejecutables.
Creo que no se puede hacer desde el argumento de la línea de comando porque el analizador del shell se confunde. Sin embargo, el cuadro de diálogo "ejecutar" es mucho más permisivo.
Si es así, puedes intentar extraerlo simplemente:
c:> type program:argument > output