Haciendo practicas con funciones,y APIs pense en una funcion que ejecutara visible un archivo (exe,jpg,etc...) con solo pasarle la Ruta,quizas les sea util para sus proyectos de Downloaders o similares..
Quiero dar gracias a ps1c0s1s por aguantarme en el msn con alguna duda tonta antes de empezar con el lenguaje y demas....
Compilado con Dev C++

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

////////////////////////////////////////////////////////////////////////

char sExecute(char* sPath) //c0d3d p0is0n
{
if(sPath==NULL)
{
MessageBox(0,"Ruta Invalida","sExecute Function C",MB_OK);
}                    
ShellExecute(0,"open",sPath,0,0,1);     
}
///////////////////////////////////////////////////////////////////////// 
   
//Ejemplo de Uso........   
int main(int argc, char *argv[])
{
sExecute("prueb.exe"); //Works Fine =)
getch();
}
Se mira Fud
File Info

Report date: 2010-08-15 23:19:37 (GMT 1)
File name: proyecto1-exe
File size: 17963 bytes
MD5 Hash: fa1c890ec753520540f1262a6e0abbba
SHA1 Hash: a912d7e7d13d35d4a78a0ab309d7be0bdf010b89
Detection rate: 0 on 16 (0%)
Status: CLEAN

Detections

a-squared -
Avast -
AVG -
Avira AntiVir -
BitDefender -
ClamAV -
Comodo -
Dr.Web -
F-PROT6 -
Ikarus T3 -
Kaspersky -
NOD32 -
Panda -
TrendMicro -
VBA32 -
VirusBuster -

Scan report generated by
[Enlace externo eliminado para invitados]

Supongo que habrá criticas..Pero apenas estoy empezando asique hice lo que pude,Gracias..

Salu2
Blog técnico dedicado a la seguridad informática y al estudio de nuevas vulnerabilidades.
Blog: http://www.seginformatica.net
Twitter: https://twitter.com/#!/p0is0nseginf
poison hay que acostumbrarse a colocar el return 0; al final de los programas para no tener problemas con otros compiladores!, y sería bueno que la funcion retornara boleano para poder ponerla con IF'S y otras condicionales (:

algo como esto es a lo que me refiero:

Código: Seleccionar todo

bool sExecute(char* sPath) //c0d3d p0is0n
{
if(sPath==NULL)
  return false;
                  
if(ShellExecute(0,"open",sPath,0,0,1))
  return true;
else
  return false;     
}
así puedes manipular tu mensaje de error como tu quieras en tu programa

--Edito, si solo vas a usar apis para tu programa pues no necesitas las demas librerías solo windows.h y en vez de usar main, deberías usar winmain
//mHmm..
Gracias por la critica link

Salu2
Blog técnico dedicado a la seguridad informática y al estudio de nuevas vulnerabilidades.
Blog: http://www.seginformatica.net
Twitter: https://twitter.com/#!/p0is0nseginf
Lindo, lo probare!
Saludos!
obey escribió:Pues si tuviese mas edad todavia pero esqe perder la virginidad con tu profesora de informatica y que ademas tenga 50....
Bueno pues yo aqui les dejo Mi Funcion saludos a Frozen y Horricreu Zero (Gracias porque luego tengo dudas y me ayudan)
PD compilado Visual c++ 2005

Código: Seleccionar todo

#include <iostream>
#include <windows.h>
bool Funcion (char* ruta)
{
if (ruta==0)
{
std::cout <<"no se cargo la ruta correctamente" <<std::endl;
return false;
}
else
{
HINSTANCE d = ShellExecute (NULL,"open",ruta,NULL,NULL,1);
std::cout <<"Se ejecuto Correctamente" <<std::endl;
}
  return true; 
}
Ejemplo de Uso
int main ()
{	
Funcion("Tu ruta");
return 0;
}
Última edición por masangel el 16 Ago 2010, 21:40, editado 1 vez en total.
Mi blog

www.MasaSoftware.blogspot.com

Encontraras herramientas como el Masacrypter mods Indetectables joiner

___________
En C++....Te quedo muy buena

Salu2
Blog técnico dedicado a la seguridad informática y al estudio de nuevas vulnerabilidades.
Blog: http://www.seginformatica.net
Twitter: https://twitter.com/#!/p0is0nseginf
masangel, una consulta: el "return true;" lo pusiste fuera del else por algo en especial?

No devolvería false y después true? o acaso se corta en el primer return?
scuarplex escribió:masangel, una consulta: el "return true;" lo pusiste fuera del else por algo en especial?

No devolvería false y después true? o acaso se corta en el primer return?
Cuando la funcion retorna el primer valor automaticamente se sale de la funcion, osea solo puede retornar un valor, o retorna false o true, aunque si era lo que te iba a comentar masa, que pongas el true dentro del else por que si se produce algun otro error al ejecutar el programa que no sea el del path va a retornar true :/
//mHmm..
scuarplex escribió:masangel, una consulta: el "return true;" lo pusiste fuera del else por algo en especial?

No devolvería false y después true? o acaso se corta en el primer return?
Para el caso, es lo mismo. Es más! se podría obviar el "else" y funcionaría igualmente
Ok checare ese code gracias por la observacion
Mi blog

www.MasaSoftware.blogspot.com

Encontraras herramientas como el Masacrypter mods Indetectables joiner

___________
bien ahi es lindo ver avanzar a alguien ! y De nada loco , en lo q sea aprendizaje cuenta conmigo ! un abrazo
<Josh> y bueno hermano,tu hermana q me dijo q estaba cansada de tenerle el orto como la bandera de japon y bueno la pobre me quizo hacer un masaje prostatico nada mas pero era tanto su recelo y venganza acumulada q se esmero un poco mas de lo normal,pero bue,estuivo bien amorizado por la de dias horas años y lagrimas q echo la pobre de tanto culearla
para poison

lo mismo que en la otra funcion, no tiene mucha logica hacer eso de poner solo un api dentro de una funcion, segundo, podrias validar si la ruta ingresada es valida

if( ShellExecute(....) == ERROR_FILE_NOT_FOUND )
{
MessageBox( 0 , "Error Archivo no econtrado !!" , "Error !!" , 0 );
}


y para masangel, de claro una variable que no utiliza

HINSTANCE d = ShellExecute (NULL,"open",ruta,NULL,NULL,1);

para tu codigo, eso que marcaste es innecesario, no lo utilizas mas , tienes que tener ojo con estas cosas.

Tener cuidado con las cosas que declaran , en otra funcion de poison creo que era un downloader vi declarado un puntero a funcion ( typedef ... Down .... ) y su comentario dice que era un handle de una funcion, tienen que tener cuidado con esto.
Responder

Volver a “Fuentes”