Tempo aproximado para leitura: 00:02:00 min
Dúvida
A função WinExec() não está abrindo arquivos .exe, qual o motivo?
Ambiente
Cross Segmentos - Backoffice (Linha Protheus) – ADVPL – A partir da versão 12.1.17
Solução
A função WinExec não abre diretamente arquivos de dados de nenhum tipo, ela apenas repassa ao SO uma linha de comando na estação onde o SmartClient está em execução, ou seja, equivale a digitar diretamente uma linha de comando no prompt do console. Portanto apenas comandos e chamadas de aplicação que seriam válidos nestes contexto são permitidos, como:
WinExec ("DIR C:\TEMP\*.TXT") // executa um dir
WinExec ("CALC.EXE") // chama a calculadora
Exemplo; "C:\Dir\teste.xls" é apenas um nome de arquivo, não é um comando ou aplicação válida no prompt, portanto não irá funcionar.
Já a ShellExecute opera de forma bem diferente, pois possui diversos parâmetros adicionais que indicam qual a ação deverá ser feita e outras opções (como por exemplo, "Open").
Saiba mais
WinExec
0 Comentários