Ir ao conteúdo

Execução de comando externo


kassane

Posts recomendados

Postado

Olá Pessoal, tudo bem?

Estou com uma dúvida em relação ao comando (winexec) no c++:

Eu tentei adicionar uma variável no comando citado, mas dar um erro envolvendo [strings > const char*].

Até aqui: OK :D

WinExec("cmd /c \"help\">>.\\texto.txt", SW_NORMAL);

Mas: ERRO :(

cmd = "cmd /c \"help\">>.\\text.txt";WinExec(cmd, SW_NORMAL);Se dessa forma da erro imagina se eu adicionasse "+ variavel".

Normalmente aprendo a usar pascal/delphi e C/C++, uso IDE embarcadero XE7.1 e gostaria de refazer meu código em c++, mas esse comando me atrapalha. :help:

Caso me perguntam sobre createprocess: Eu ainda não sei usa-lo corretamente sem dar certos erros, por isso comecei no Winexec.

Aguardo sua resposta, desde já agradeço! :aplausos:

Postado

Usei como string.

 

E o erro é este:

[bcc32 Error] Unit1.cpp(23): E2034 Cannot convert 'UnicodeString' to 'const char *'[bcc32 Error] Unit1.cpp(23): E2342 Type mismatch in parameter 'lpCmdLine' (wanted 'const char *', got 'UnicodeString')

C++ builder compiler 6.90 (IDE: Embarcadero XE7.1)!

Postado

Sim

[bcc32 Error] Unit1.cpp(23): E2034 Cannot convert 'wchar_t' to 'const char *'[bcc32 Error] Unit1.cpp(23): E2342 Type mismatch in parameter 'lpCmdLine' (wanted 'const char *', got 'wchar_t *')
Postado

Veja agora:

WinExec(AnsiString(cmd).c_str(), SW_NORMAL);

Nessa versão do compilador que você está usando, String mapeia direto para UnicodeString e a WinExec não suporta Unicode.

 

 

 

[ ]'s

Postado

Obrigado ajudou bastante.

 

Avancei um pouco + e funcionou também:

cmd = "cmd /c \"netsh wlan show profile name=" + nome + " key=clear\">>.\\text.txt";WinExec(AnsiString(cmd).c_str(), SW_NORMAL);================================================================================ou em vez de String = cmd; troco por AnsiString = cmd;================================================================================AnsiString = cmd;WinExec(cmd.c_str(), SW_NORMAL);

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!