>  기사  >  백엔드 개발  >  CreateProcess()를 사용하여 다른 C .exe에서 .exe 파일을 시작하는 방법은 무엇입니까?

CreateProcess()를 사용하여 다른 C .exe에서 .exe 파일을 시작하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-30 04:03:02495검색

How to Launch an .exe File from Another C   .exe Using CreateProcess()?

CreateProcess()를 사용하여 C에서 .exe 파일 열기

다른 C .exe에서 .exe 파일을 실행하려는 경우, system() 함수는 보안, 효율성 및 바이러스 백신 호환성과 관련된 잠재적인 단점으로 인해 일반적으로 권장되지 않습니다.

대신 CreateProcess() 함수를 활용하는 것이 좋습니다. 이를 통해 대상을 실행하기 위해 새 프로세스를 생성할 수 있습니다. .exe 파일을 독립적으로 사용합니다. 다음은 사용법을 보여주는 예입니다.

<code class="c++">#include <windows.h>

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);
}</code>

.exe 파일의 절대 경로를 이 함수의 lpApplicationName 인수로 전달합니다.

이전 코드 문제 해결

system()을 사용하는 원래 코드에서 발생한 오류는 OpenFile.exe에 대한 경로가 부족하여 발생했을 가능성이 높습니다. system() 또는 CreateProcess()에 제공한 경로에 지정된 .exe 파일이 있는지 확인하세요.

위 내용은 CreateProcess()를 사용하여 다른 C .exe에서 .exe 파일을 시작하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.