bom galera as vezes e necessario abrir outro programa atraves do nosso programa em c, para isso existe varios meios q pode depender do sistema operacional, um exemplo facil e usar o system da biblioteca stdlib.h e passar como argumento o local do arquivo (vou abrir a calculadora do windows q fica c:\windows\system32\calc.exe)
o exemplo anterior e como se agente tivesse aberto o prompt e executado o programa por ele, agente tambem pode colocar um start antes do local do arquivo assim nao ficaria esperando ele ser finalizado
outra maneira e usar as API do sistema windows para executar, uma api bem usado e WinExec porem essa api nao tem nos sistemas mais novos, para usar ela basta passar como argumento o local e depois o comando caso tenha, para agente usar ele tem q declarar windows.h tambem
outro api do sistema windows e ShellExecute, essa api agente vai passar como argumento 0 (aqui seria a janela), no segundo argumento e "open" (aq e açao por exemplo abrir explorar etc), no terceiro argumento e o local do arquivo, no quarto argumento seria o comando q agente passa como paramentro caso nao tenha coloque um 0 ou NULL, no quinto argumento eu nao faço ideia '-' (coloque um 0 tambem), e o ultimo argumento colocamos como a janale vai aparecer (minimizada, maximimizada, oculta etc), nessa api tambem tem q declarar windows.h
para terminar agora vamos ver outro metodo q e o CreateProcess q tambem fica na biblioteca windows.h, nesse agente vai ter q fazer um pouco mais de coisas doq o anterior, para começar temos q declarar duas estruturas STARTUPINFO e PROCESS_INFORMATION, depois usamos a funçao CreateProcess e passamos como argumento o local do arquivo, o comando de paramentro, mais 3 argumentos q agente vai colocar 0 nos 3 (nao vou me aprofundar muito nisso), o proximo seria como a thread vai iniciar (pausada etc, coloque 0 aqui tambem lol ), depois nos dois dois proximo argumento 0 '-', para terminar agente passa o endereço de memoria da estrutura STARTUPINFO e no proximo argumento o do PROCESS_INFORMATION e pronto u.u
o exemplo anterior tem 7 zero entre o local e a primeira estrutura '-'
by hacker fts315
- Código:
#include <stdlib.h>
int main(void)
{
system("c:\\windows\\system32\\calc.exe");
}
o exemplo anterior e como se agente tivesse aberto o prompt e executado o programa por ele, agente tambem pode colocar um start antes do local do arquivo assim nao ficaria esperando ele ser finalizado
- Código:
#include <stdlib.h>
int main(void)
{
system("start c:\\windows\\system32\\calc.exe");
}
outra maneira e usar as API do sistema windows para executar, uma api bem usado e WinExec porem essa api nao tem nos sistemas mais novos, para usar ela basta passar como argumento o local e depois o comando caso tenha, para agente usar ele tem q declarar windows.h tambem
- Código:
#include <windows.h>
int main(void)
{
WinExec("start c:\\windows\\system32\\calc.exe",0);
}
outro api do sistema windows e ShellExecute, essa api agente vai passar como argumento 0 (aqui seria a janela), no segundo argumento e "open" (aq e açao por exemplo abrir explorar etc), no terceiro argumento e o local do arquivo, no quarto argumento seria o comando q agente passa como paramentro caso nao tenha coloque um 0 ou NULL, no quinto argumento eu nao faço ideia '-' (coloque um 0 tambem), e o ultimo argumento colocamos como a janale vai aparecer (minimizada, maximimizada, oculta etc), nessa api tambem tem q declarar windows.h
- Código:
#include <windows.h>
int main(void)
{
ShellExecute(0,"open","c:\\windows\\system32\\calc.exe",0,0,SW_NORMAL);
}
para terminar agora vamos ver outro metodo q e o CreateProcess q tambem fica na biblioteca windows.h, nesse agente vai ter q fazer um pouco mais de coisas doq o anterior, para começar temos q declarar duas estruturas STARTUPINFO e PROCESS_INFORMATION, depois usamos a funçao CreateProcess e passamos como argumento o local do arquivo, o comando de paramentro, mais 3 argumentos q agente vai colocar 0 nos 3 (nao vou me aprofundar muito nisso), o proximo seria como a thread vai iniciar (pausada etc, coloque 0 aqui tambem lol ), depois nos dois dois proximo argumento 0 '-', para terminar agente passa o endereço de memoria da estrutura STARTUPINFO e no proximo argumento o do PROCESS_INFORMATION e pronto u.u
- Código:
#include <windows.h>
int main(void)
{
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
CreateProcess("c:\\windows\\system32\\calc.exe",0,0,0,0,0,0,0,&si,&pi);
}
o exemplo anterior tem 7 zero entre o local e a primeira estrutura '-'
by hacker fts315