1. Para executar um arquivo .exe c void RunPHPScript() { ShellExecute(NULL, "open", "seu_arquivo.exe", NULL, NULL, SW_HIDE); } 2. Para executar um arquivo .bat c void RunPHPScript() { ShellExecute(NULL, "open", "cmd.exe", "/c seu_arquivo.bat", NULL, SW_HIDE); } 3. Para executar um script Python (.py) c void RunPHPScript() { ShellExecute(NULL, "open", "python", "seu_arquivo.py", NULL, SW_HIDE); } 4. Para abrir um arquivo HTML no navegador padrão c void RunPHPScript() { ShellExecute(NULL, "open", "seu_arquivo.html", NULL, NULL, SW_SHOWNORMAL); } Observações importantes: Para arquivos .bat e .py, você pode precisar especificar o caminho completo se o executável não estiver no PATH do sistema. Para o Python, se você tiver várias versões instaladas, pode ser melhor especificar o caminho completo: c ShellExecute(NULL, "open", "C:\\Python39\\python.exe", "seu_arquivo.py", NULL, SW_HIDE); Se você quiser passar argumentos para qualquer um desses arquivos, adicione-os como parte do parâmetro: c // Para .exe com argumentos ShellExecute(NULL, "open", "programa.exe", "arg1 arg2", NULL, SW_HIDE); // Para .py com argumentos ShellExecute(NULL, "open", "python", "script.py arg1 arg2", NULL, SW_HIDE); Certifique-se de que o caminho para o arquivo está correto. Se estiver em um diretório diferente, use o caminho completo: c ShellExecute(NULL, "open", "C:\\caminho\\para\\arquivo.exe", NULL, NULL, SW_HIDE); Para arquivos HTML, você pode querer usar SW_SHOWNORMAL em vez de SW_HIDE para que o navegador seja visível.