Autor
|
Tema: Como ocultar las llamadas al sistema. (Leído 4,388 veces)
|
gxg
Desconectado
Mensajes: 37
|
Mi programa de tipo consola lo oculto con la funcion freecosole();
Este programa con un cierto periodo hace llamadas al sistema con system("");
Pero cada vez que hago una llamada con system(""); se ve en la pantalla durante 0.1 segundos una ventana de ms-dos
¿Como puedo ocultar eso?
El SO que estoy usando es windows XP.
|
|
« Última modificación: 13 Abril 2011, 23:48 pm por gxg »
|
En línea
|
|
|
|
Akai
Desconectado
Mensajes: 823
|
system lo que hace es decirle al sistema que ejecute el comando x, siendo x la cadena que tu le pasas por parámetro. Estos comandos, como ya has notado, se ejecutan en la consola.
Como se hacen llamadas al sistema sin usar la consola? no uses system. Utiliza las funciones o código necesario para realizar lo que quieras hacer SIN necesidad de system.
(Pongo el ejemplo con funciones de Linux que son las que domino, pero la idea es la misma)
Ejemplo supongamos que system("cd /home/usuario" ) cambia el directorio de trabajo a /home/usuario. Esto, obviamente, nos saca la consola y es lo que queremos evitar.
Por otro lado, tenemos la función chdir que nos cambia el directorio de trabajo a donde nosotros le indiquemos, sin recurrir a system, es decir, realizamos la misma llamada al sistema, pero sin system.
(fin del ejemplo)
Si pudieses añadir un ejemplo de llamada system que quieres sustituir, se te podría encabezar hacia la msdn o ayudarte de una forma más concreta.
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Tiene q tener algun parametro o algo, por ejemplo en vb6 es System "comando" , vbHide
algo asi.
|
|
|
En línea
|
|
|
|
gxg
Desconectado
Mensajes: 37
|
Mi programa cada x segundos accede a un servidor, lee un fichero en el servidor y el texto lo pasa a la función system. Osea que no puedo programar todas las funciones una por 1 xD.
Lo que estoy buscando es algo parecido a lo que dice XXX-ZERO-XXX .
|
|
|
En línea
|
|
|
|
Oblivi0n
Desconectado
Mensajes: 392
Odio las ranas.
|
Tiene q tener algun parametro o algo, por ejemplo en vb6 es System "comando" , vbHide
algo asi. No, esto no es vb..... int system(const char *cadena );
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Oblivi0n dices que el codigo que puse no es vb6? o q? yo bien dije "por ejemplo en vb6" para dar una opinion de como podria ser en C++
|
|
|
En línea
|
|
|
|
poitier
Desconectado
Mensajes: 16
|
Mi programa cada x segundos accede a un servidor, lee un fichero en el servidor y el texto lo pasa a la función system. Osea que no puedo programar todas las funciones una por 1 xD.
¿Y para qué le pasa el texto a la función system?
|
|
|
En línea
|
|
|
|
gxg
Desconectado
Mensajes: 37
|
Porque así accedo a la consola de un ordenador que tenga ejecutandose mi programa, de forma remota.
|
|
|
En línea
|
|
|
|
Oblivi0n
Desconectado
Mensajes: 392
Odio las ranas.
|
Oblivi0n dices que el codigo que puse no es vb6? o q? yo bien dije "por ejemplo en vb6" para dar una opinion de como podria ser en C++
Nono, digo que en C/C++ funciona de modo diferente... xD (perdona si puede sonar mal la respuesta) A el autor del post: Ahora mismo no estoy seguro, pero creo que con WinAPI hay funciones que tienen un uso similar a system y que puedes pasar como parametro si la consola aparece oculta o no
|
|
|
En línea
|
|
|
|
|
|