Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: TopoJunior en 1 Febrero 2013, 21:19 pm



Título: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: TopoJunior en 1 Febrero 2013, 21:19 pm
No sé si me expliqué bien. Me refiero a... que tu hagas un programa en C y por ejemplo, te abra un destino por defecto, como por ejemplo una consola (CMD) ¿Se puede? En win 7
¿Como se hace?


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: engel lex en 1 Febrero 2013, 21:30 pm
no, no te explicaste... :s

piensa de nuevo tu problema, primero da un aspecto mas general de tu problema, luego especificamente que quieres, tambien da un ejemplo de que quieres obtener

si no estás seguro de haberte explicado bien, da mas detalles para tratar de que te entendamos :P


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: Oblivi0n en 1 Febrero 2013, 21:38 pm
A ver, voy a intentar responder a lo que entiendo.

Si lo que quieres es hacer un programa, que abra una ventana del explorer en una determinada localizacion (predefinida)

Código
  1. system("explorer " + la ruta)


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: JonaLamper en 1 Febrero 2013, 21:45 pm
Programa en vbs que me habra el paint:

Código:
Dim mivariable

Set mivariable = WScript.CreateObject("WScript.Shell")

mivariable.Run "C:\Windows\system32\mspaint", 1, True


En el caso que nos ocupa, debemos lanzar el método Run del objeto ObjShell, que admite los siguientes tres parámetros:

● Nombre de la aplicación a ejecutar: Se debe escribir como una cadena, es decir,
entre comillas dobles.

● Estilo de ventana: Un número que indica el modo:

◦ 1: Normal.
◦ 2: Minimizada.
◦ 3: Maximizada.

● Sincronización: Indica si, una vez lanzada la aplicación, hay que devolver el control al  script inmediatamente o al finalizar la ejecución de la aplicación. Admite dos valores representados por las constantes:

◦ True: La aplicación devuelve el control al script cuando termina su ejecución.
◦ False: La aplicación devuelve el control al script en cuanto se lanza.


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: тαптяα en 1 Febrero 2013, 21:49 pm
Programa en vbs que me habra el paint:

Código:
Dim mivariable

Set mivariable = WScript.CreateObject("WScript.Shell")

mivariable.Run "C:\Windows\system32\mspaint", 1, True


En el caso que nos ocupa, debemos lanzar el método Run del objeto ObjShell, que admite los siguientes tres parámetros:

● Nombre de la aplicación a ejecutar: Se debe escribir como una cadena, es decir,
entre comillas dobles.

● Estilo de ventana: Un número que indica el modo:

◦ 1: Normal.
◦ 2: Minimizada.
◦ 3: Maximizada.

● Sincronización: Indica si, una vez lanzada la aplicación, hay que devolver el control al  script inmediatamente o al finalizar la ejecución de la aplicación. Admite dos valores representados por las constantes:

◦ True: La aplicación devuelve el control al script cuando termina su ejecución.
◦ False: La aplicación devuelve el control al script en cuanto se lanza.
¿Quizás estas en C/C++?


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: TopoJunior en 1 Febrero 2013, 21:55 pm
Me refiero, a poner alguna función o algo, que lo que haga es abrirte por ejemplo una foto que tengas en el escritorio, poniendo la ruta


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: тαптяα en 1 Febrero 2013, 22:03 pm
Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3. int main(){
  4.  
  5.    system("start C:\\");
  6.  
  7.    return 0;
  8.  
  9. }
  10.  

Ahora cambia C:\\ por la ruta deseada y voit' la! Do it!


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: wiserlander en 2 Febrero 2013, 19:39 pm
Hola, ahora mismo estaba haciendo una botonera en c++ con el IDE, Codeblocks y las librerias Wxwidget + compilador GCC.

Seguramente seria mas apropiado usar el poder del propio c++ pero como apenas tengo idea de programación y por si le pudiera servir a alguien con poca idea de programación como yo.

Código:
system ("taskkill /F /IM proceso.exe");
Este es para matar un programa o proceso activo.

Código:
system ("start C:/windows/explorer.exe");
Este codigo lo uso para ejecutar o arrancar un programa exe o archivo por lotes .bat

Esos codigos lo pongo donde me indica el IDE C::B  cuando le doy doble clic a un boton que yo he colocado en un formulario.

Por ejemplo:

En el archivo main tengo este codigo.

Código:
void wsnLPTFrame::OnButton1Click(wxCommandEvent& event)
 
  {

         system ("start C:/CB/CodeBlocks/codeblocks.exe");

   }

Corresponde al botón 1 y lo que hace es iniciar el IDE C::B cuando le doy clic.

Código:
void wsnLPTFrame::OnButton2Click(wxCommandEvent& event) 
   {

        system ("taskkill /F /IM proceso.exe");

   }

En este caso el clic mata o cierra el programa "proceso.exe".

Asi me ha resultado facil hacer una botonera que carga programas, servidores, cerrarlos pero no de la manera mas correcta, seguramente.

Llamar un destino o abrir una carpeta sin problemas con la botonera, es muy simple.

Puedo compartir el proyecto completo por si alguien lo quiere.

Una imagen:

(http://img255.imageshack.us/img255/2497/botonera.jpg)

Saludos cordiales








Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: тαптяα en 7 Febrero 2013, 08:02 am
Lo cierto es que no es nada recomendable usar system..

Antes de usar system().. busca en la API de windows, como iniciar un ejecutable

Y otra cosa, si yo no tengo el CodeBlocks en la particion C:, eso no funcionaría, por cierto

Saludos


Título: Re: ¿Cómo puedo hacer un programa que habra un destino?
Publicado por: 0xDani en 7 Febrero 2013, 13:53 pm
En windows esta la variable de batch %homedrive%, quiero recordar. Pero vamos, que hacer un programa a base de system(), ni para un front end.

Saludos.