Executar programa externo a partir do meu programa C++

1. Executar programa externo a partir do meu programa C++

jhonatan
jhonk1

(usa Outra)

Enviado em 10/07/2012 - 18:05h

Gostaria de saber como posso fazer para executar um programa(software) a partir de um comando dentro do meu próprio programa? Já tentei usar o 'system("caminho\nome_do_programa.exe")' mas ele não funciona! fala que "não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lote". Estou usando o Code::Blocks, e o compilador MinGW, não sei se isso fará alguma diferença XD

Desde já muito Obrigado!


  


2. Re: Executar programa externo a partir do meu programa C++

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/07/2012 - 18:16h

jhonk1 escreveu:

Gostaria de saber como posso fazer para executar um programa(software) a partir de um comando dentro do meu próprio programa? Já tentei usar o 'system("caminho\nome_do_programa.exe")' mas ele não funciona! fala que "não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lote". Estou usando o Code::Blocks, e o compilador MinGW, não sei se isso fará alguma diferença XD

Desde já muito Obrigado!


*.exe e \ ??? Como... Está tentando executar win em Linux?


system('caminho/nome_do_programa');




3. Re: Executar programa externo a partir do meu programa C++

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 10/07/2012 - 18:23h

A sintaxe está correta. Você pode chamar um comando do sistema com a função system() do C++. Mas você tem que indicar o caminho correto do comando.

No caso do Win, acho que deveria iniciar com a letra do HD. Exemplo, quando coloca system("pause") ele dá uma pausa e isso é um comando interno, claro.

Acho que o problema está em informar o caminho corretamente.


4. Re: Executar programa externo a partir do meu programa C++

Elder Marco
eldermarco

(usa Fedora)

Enviado em 10/07/2012 - 18:25h

Ou não informar caminho nenhum, caso o programa esteja no PATH do sistema..


5. Re: Executar programa externo a partir do meu programa C++

jhonatan
jhonk1

(usa Outra)

Enviado em 10/07/2012 - 21:46h

Eu estou inserindo da seguinte forma : system("C:\Program Files\Windows Media Player\wmplayer.exe");
Mas ele fala : 'C:Program' não é reconhecido como comando interno... !
Não sei o Por que do erro! eu acho que esta tudo certo!
Estou usando o Windows 7



6. Re: Executar programa externo a partir do meu programa C++

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/07/2012 - 21:52h

Deve ser por causa dos espaços em branco.

Tente escrever deste jeito:

 system("C:\Program\ Files\Windows\ Media Player\wmplayer.exe"); 


E se der problema ainda pode ser por causa do programa estranhar a barra ao contrário e pensar que é algum caracter de escape.

Pode ser o caso de ter que colocar duas barras aonde só tinha uma:

 system("C:\\Program\ Files\\Windows\ Media Player\\wmplayer.exe"); 


E onde há espaço em branco não deve ser preciso duas.


7. Re: Executar programa externo a partir do meu programa C++

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 10/07/2012 - 22:16h

jhonk1 escreveu:

Eu estou inserindo da seguinte forma : system("C:\Program Files\Windows Media Player\wmplayer.exe");
Mas ele fala : 'C:Program' não é reconhecido como comando interno... !
Não sei o Por que do erro! eu acho que esta tudo certo!
Estou usando o Windows 7


Facilita se escrever assim: system("C:\'Program Files'\'Windows Media Player'\wmplayer.exe")

Pelo menos no Linux o comando reconhece os trechos entre aspas simples como um único diretório. Se não der certo, tente com aspas duplas.


8. Re: Executar programa externo a partir do meu programa C++

jhonatan
jhonk1

(usa Outra)

Enviado em 11/07/2012 - 00:28h

Vlww ai galera. Eu consegui fazer da seguinte forma, criei uma pasta chamada icones na mesma pasta que esta o meu programa, coloquei o icone do Media Player dentro, e no programa eu coloquei assim system("icones\\wmplayer.lnk"); (o .lnk é a extensão do atalho) desse jeito ele abriu, mas eu tentei de tudo a partir do jeito que vocês falaram e não pegou, tentei colocar a \\ no caminho C:\\, entre outros jeitos, mas sem sucesso.
Vou deixar o tópico aberto por enquanto caso alguém possa dar mais sugestões, e se eu conseguir, volto aqui e comento!

Obrigado pela ajuda!


9. Re: Executar programa externo a partir do meu programa C++

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/07/2012 - 03:49h

Coloca a string que você colocou aí no fórum.




10. Re: Executar programa externo a partir do meu programa C++

jarlisson moreira
jarlisson

(usa Fedora)

Enviado em 11/07/2012 - 05:52h

system( "MKDIR \"C:\\Program Files\\FILENAME\"" );


11. Para C

Brandon A. Dias
Wararray

(usa Ubuntu)

Enviado em 19/01/2015 - 15:59h

Então, como eu não vi ninguém respondendo, mando aí:

Em programas na linguagem C, basta utilizar a função system(), da biblioteca <stdlib.h> e digitar como se fosse o terminal.

Ou seja, supondo que você queira executar um arquivo .sh (um Shell Script), você usa:



#include <stdlib.h>

int main(){

/* Esse programa em c vai chamar e executar o arquivo SouUmProgramaShell.sh que está salvo no caminho
* /root/Desktop/REPOSITORIO
*/

system(". /root/Desktop/REPOSITORIO/SouUmProgramaShell.sh");

return 0;
}




Isso funciona pra qualquer outra ideia. A Função system() permite que você pense como se estivesse digitando no próprio terminal. E, no terminal, pra excutar um programa você tem vários jeitos. Alguns você só coloca o nome (tipo o Kwrite ou Gedit), outros você coloca o " ./meuPrograma.exe" outros só o ponto " . meuPrograma.exe" funciona.

Espero ajudar quem precisar! ;)


12. Programa externo em C++

Théo Borém Fabris
theofabris

(usa Ubuntu)

Enviado em 31/01/2015 - 19:31h

Caro amigo,
Para voce conseguir fazer isso primeiro inclua a biblioteca stdlib.h, ache o lugar do programa e digite o nome do programa(sem a extensao .exe).
Exemplo:

#include <iostream>
#include <stdlib.h>
using namespace std;

int main{
system("CD Desktop"); //local do programa
system("programa_test"); //nome do programa(no caso o "programa_test" e sem .exe)
return (0);
}








01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts