2010-02-08 6 views
1

작동하는 MFC 응용 프로그램에서 외부 프로그램을 열어야하지만 이미 단추를 클릭 한 경우 다른 인스턴스를 열지 않고 그냥 가져 오면 안됩니다. 문서에 따르면 SW_SHOWNORMAL 매개 변수는이 작업을 수행하지만 나에게 적합하지 않습니다. 호출 된 프로그램도이를 위해 설정해야합니까?MFC에서 외부 exe를 시작하면 이미 열린 경우 exe를 맨 앞에 가져올 수 있습니까?

ShellExecute(NULL, "open", "C:\Test\blahblah.exe", NULL, NULL, SW_SHOWNORMAL);

감사, 문서가 당신을 혼란 어떤되었을 수 있습니다 불분명 조금이다

답변

4

CP. 실행 프로그램을 대상으로 지정할 때 ShellExecute()은 항상 새로운 프로세스를 시작합니다. 최소화 된 창을 복원 할 때 문서에서 언급 한 내용은 Word 문서와 같은 문서를 대상으로 지정하고 문서를 표시하도록 등록 된 응용 프로그램이 이미 실행중인 경우입니다.

  • 싱글 패턴을 지원하는 외부 프로그램을 수정하고 두 번째 복사본을 시작하려고하면 그 자체가 전면 중앙에 가지고, 또는
  • 사용 :

    가장 좋은 건에 중입니다 FindWindow() MFC 응용 프로그램에서 외부 응용 프로그램을 찾은 다음 ShellExecute()이 아직 없으면 실행하고, 그렇지 않으면 기존 창을 활성화하십시오.

관련 문제