C/Visual C - ayuda con system()

 
Vista:

ayuda con system()

Publicado por lolo22 (1 intervención) el 06/10/2005 20:00:30
Bueno lo que yo quiero hacer es abrir el internet explorer para navegacion
lo intento con la funcion system() pero no puedo ya que el internet explorer se encuentra en C: \archivos de programas\internet explorer\iexplore.exe
y por defecto en windows 98 el prompt de command.com es de C:\windows

e intentado hacerlo con dos llamadas a system()

asi system("cd C: \archivos de programas\internet explorer\");
system("iexplore.exe www.lawebdelprogramador.com");
pero nada me parece es porque en la primera llamada si cambia de directorio pero en la segunda llamada system() el directorio de command es C:\windows
se puede usar system para hacer esto y diganme como podria hacerlo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con system()

Publicado por fernando.gomez (1603 intervenciones) el 06/10/2005 20:53:58
Pues mira, según sé la carpeta del internet explorer se encuentra en una carpeta de acceso público, de tal suerte que invocar el nombre del programa debería ser suficiente (pero sin incluir el ".EXE").

system("iexplore www.lawebdelprogramador.com");

Yo hice la prueba y resultó, pero yo tengo Windows XP. Ahora, otra opción si esto sigue sin funcionarte es el siguiente algoritmo:
1. Busca en las variable de entorno PATH el directorio del IE. Es decir, haces un getenv("PATH") y en el valor de retorno buscas que la cadena contenga una subcadena con el directorio del IE.
2. Si no existe, a la cadena que regresa getenv le concatenas un ";" y el directorio del IE, y estableces la variable PATH con setenv.
3. Aquí ya estás seguro de que PATH contiene la dirección de la carpeta del IE. Por ello, una llamada a system("iexplore www.lawebdelprogramador.com"); deberá funcionar sin problemas.

Ahora, creo que no deberías escribir directamente "C:\Archivos de Programa\Internet Explorer" como el nombre de la ruta hacia el IE. ¿Qué pasa si yo instalé mi sistema operativo en la unidad D, suponiendo que tengo particionado mi disco? Peor, ¿qué tal que tengo un Windows en inglés, en cuyo caso la ruta sería D:\Program Files\Internet Explorer? Sabemos que siempre se instalará el IE en el directorio Internet Explorer, debajo de la carpeta correspondiente a Archivos de Programa, ¿cierto? Pues bien, entonces mejor tu llamada hazla como "%ProgramFiles%\Internet Explorer". %ProgramFiles% es una variable de sistema que indica dónde se encuentra la ruta predeterminada para instalar programas (Archivos de Programa si Windows está en español, Program Files si está en inglés, etc)

Por cierto, ya que conocemos --en base a lo anterior-- la ruta exácta del iexplore.exe, creo que eventualmente lo más sencillo sería:

system("%ProgramFiles%\Internet Explorer\iexplore.exe www.lawebdelprogramador.com");

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con system()

Publicado por VoidPointer (180 intervenciones) el 06/10/2005 21:31:55
yo usaba una api ShellApi creo... luego hacia una llamada ShellExecute, eso era en windows 98 SE, no se si esta en Win XP.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con system()

Publicado por max (50 intervenciones) el 06/10/2005 21:27:39
Hola nua pregunta tiene que ser con system .. si prueba con process.h

aqui te va un ejemplo

#include <stdio.h>
#include <conio.h>
#include <process.h>
void main()
{
spawnl(P_WAIT, "c:\\archiv~1\\intern~1\\iexplore.exe ", NULL);
perror("exec error");
exit(1);
}

todo en el ayuda .....HAY Q BUSCAR !!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar