2013-06-26 5 views
0

Shell Execute()를 사용하여 로컬 HTML 문서를 열려고합니다. 그러나 필요한 것은, 특정 문서가 이미 열려 있고 ShellExecute가 다시 트리거 된 경우 특정 파일을 다시 열지 말고 이미 열린 파일을 포 그라운드로 가져 오는 경우를 가정 해 봅시다. 내가 어떻게 이럴 수 있니?C++에서 html 파일 시작

void main() 
{ 
    ShellExecute(NULL, "open", "C:\\prograomgiles\\help.html", 
       NULL, NULL, SW_SHOWNORMAL); 
} 
+0

난 당신이 열려있는 응용 프로그램의 처리기를 얻을 필요가 있다고 생각하고 처리기가 여전히 존재하는 경우 (살아있는) 문서 확인을 열어야 할 때마다 OS에게 알려주거나 존재하는 응용 프로그램으로 전환하도록 알려줍니다. 3 일을 통해 (쉬운 방법으로) 끝내십시오. 그것에 신경 쓰는 타사 응용 프로그램 –

답변

1

어떤 프로그램이 html 파일을 처리하고 어떻게 작동하는지에 따라 달라지기 때문에 거의 불가능합니다. 내 OS가 프린터에 직접 인쇄하여 파일을 열고 html이라고 가정 해 보겠습니다. 열린 파일을 어떻게 전경에 가져 오겠습니까?

사용자가 지정한 방식으로 HTML 콘텐츠를 표시하려면 사용자의 브라우저를 작성하고 (예 : embed IE in C#.NET application과 같이 매우 쉽습니다.) 기본 시스템 브라우저 대신이를 실행하십시오. 그러면 파일이 표시되는 방식을 완전히 제어 할 수 있습니다.

1

많은 웹 브라우저가 DDE 메시지, 특히 WWW_OpenURL 메시지에 응답합니다. 다른 브라우저에 대해서는 잘 모르지만 IE는 WWW_GetWindowInfoWWW_Activate 메시지에 응답합니다.이 메시지를 사용하여 열린 창과 해당 URL을 열거하고 특정 창을 활성화 할 수 있습니다.