Lançando executáveis de C: uma alternativa ao sistema()
Em C, iniciar um executável a partir de outro executável pode ser feito usando o sistema () funciona, mas este método apresenta preocupações de segurança e eficiência do sistema. Uma abordagem mais robusta envolve a utilização da função CreateProcess().
#include
void startup(LPCTSTR lpApplicationName) {
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
CreateProcess(lpApplicationName,
argv[1],
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi
);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
Usando CreateProcess():
Solução de problemas de erros:
Verifique se o caminho especificado para o executável está correto. O erro encontrado no código fornecido provavelmente se deve a um caminho inválido para "OpenFile.exe".
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3