Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Max_D en Sábado 14 de Octubre de 2006, 21:12
Título: Como Usar El "abrir Con..."
Publicado por: Max_D en Sábado 14 de Octubre de 2006, 21:12
Hola, tengo una aplicacion y cuando en Windows elijo la opcion de Abrir con.. y elijo mi aplicacion, ¿donde tengo que hacer el metodo de lectura para que me abra mi aplicacion con el contenido del fichero? Y como consigo la ruta del archivo que intento abrir? Gracias :smartass:
Título: Re: Como Usar El "abrir Con..."
Publicado por: Max_D en Sábado 21 de Octubre de 2006, 21:48
Despues de googlear un poco (bastante) y de leerme la ayuda encontre la forma de localizar la ruta del archivo que llama a mi programa.
En la cabecera del WinMain
Código: Text
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR a, int)
se encuentra el parametro LPSTR (Long Pointer to STRing), asi que en a se encuentra la ruta del archivo, que se puede usar dentro del programa.
Espero que le resulte util a alguien B)
Título: Re: Como Usar El "abrir Con..."
Publicado por: Eternal Idol en Sábado 21 de Octubre de 2006, 22:24
pero el numero de argumentos que me devuelve con un archivo es 4, si un argumento tiene espacios, esos espacios aparecen como argumentos:
Elijo el archivo "mi archivo.txt" y lo abro con mi programa, me aparece "mi" como un argumento y despues "archivo.txt" como otro, entonces al cargar la ruta me falla.
Título: Re: Como Usar El "abrir Con..."
Publicado por: Eternal Idol en Lunes 23 de Octubre de 2006, 23:57
¿Probaste ejecutando tu programa desde el cmd? Yo compile ese codigo y me reconocio perfectamente "mi archivo.txt" (use las comillas en la linea de comandos).
Título: Re: Como Usar El "abrir Con..."
Publicado por: Max_D en Domingo 29 de Octubre de 2006, 21:54
Uso el Run | Parameters para pasarle lo que quiero abrir pero me da un fallo del TMediaPlayer utilizando el ejemplo que me pusiste. Usando la "a" me funciona bien, teoricamente la forma que me dices es la mas adecuada pero me quedo con la "a", que es al fin y al cabo lo que me funciona :smartass: Muchas gracias de todas maneras.