2009-07-28 3 views
1

CD를 넣으면 자동 실행되도록 설정된 사용자 정의 MFC 응용 프로그램으로 설치 CD를 작성하려고합니다.기본 브라우저로 설치 CD에서 html 페이지 열기

지침은 CD에있는 이미지와 PDF 문서 링크가있는 간단한 html 페이지로 포함되어 있습니다. 과거

나는 기본 브라우저로 HTML 페이지 열려면 다음을 사용했던 :

ShellExecute(NULL, "open", <full path to .htm file including CD drive letter>, NULL, NULL, SHOWNORMAL); 

을하지만 비스타에서 IE8로 테스트 할 때 나는 다음과 같은 발생했습니다

  1. 탐색기 탭은
  2. 탐색기 사라짐
'연결'라고
  • 를 시작합니다

    인터넷 영역에서 보호 모드를 해제하면 문제가 해결되므로 보호 모드와 관련이 있습니다.

    이상한 점은 everthing가 CD에 구워지면 문제가 발생한다는 것입니다. 방금 하드 드라이브에서 자동 실행 파일을 수동으로 실행하면 html 페이지가 제대로 나타납니다.

    그래서이 문제를 해결할 수있는 구체적인 방법이 있는지 묻습니다. 또는이 문제가 없을 수도있는 사용자의 기본 브라우저로 URL을 여는 다른 메커니즘이 있습니까?

  • +0

    아, 그리고 약간의 이유 때문에 IE가 이미 열려 있으면 페이지도 정상적으로 나타납니다. IE가 열려 있지 않은 경우에만 이런 일이 발생합니다. –

    답변

    0

    당신이 IE는 당신이 당신의 ShellEx를 호출에

    iexplore.exe [URL] 
    

    을 실행 할 수 있습니다 설치되어 있는지 합리적으로 확신 할 수 있기 때문이다.

    IE가 설치되어 있지 않은 경우 반환 값을 확인하여 찾을 수 없는지 확인하십시오. 그렇다면 원래 쉘렉스 전화를 .htm 파일에서 직접 수행하십시오.

    또는 .htm을 % TEMP %로 복사하고 거기에서 shellex 호출을 실행할 수 있습니다. 그런 식으로 "위험한"위치에서 보호 된 주변을 둘러 봅니다.

    +0

    오히려 강제로 IE, 나는 기본 브라우저에 대한 레지스트리 키를 확인하는 몇 가지 코드를 가지고 있고 IE로 나타나는 경우 해결 방법을 시도 할 수 있습니다. 그러나 iExplore와 URL을 사용하여 ShellExecute를 수행하면 여전히 동일한 동작을 얻습니다. Internet Explorer의 인스턴스를 먼저 가져온 다음 ShellExecute를 "열어"놓으면 페이지가 제대로 표시되고 브라우저 창이 추가됩니다. % TEMP %에 대한 복사본을 아직 시도하지 않았으므로 효과가 있는지 확인하겠습니다. –

    +0

    furthur 리플렉션에서 임시 복사본은 CD에서 FILE : // 링크로 새 html 페이지를 생성하거나 CD의 이미지 및 PDF에 대한 전체 HTML 구조를 생성하거나 전체 디렉토리 구조를 임시 폴더에 복사 한 경우에만 작동합니다. 또한 나중에 정리할 때 문제가 있습니다. 그래서 이것이 작동하더라도, 그것은 내 문제를 해결하지 못할 것입니다. –

    +0

    는 귀하의 친구입니다.) –

    0

    ShellExecute에서 반환 코드를 캡처하고 표시 할 수 있습니까? 그것은 우리에게 일어나는 일에 대한 단서를 줄 수 있습니다.

    result = ShellExecute(... 
    

    가능한 리턴 코드는 다음과 같습니다 :

    http://support.microsoft.com/kb/238245

    그것은 당신이 하드 코딩 CD-ROM 드라이브 문자입니다 귀하의 질문에 말했다. 테스트중인 시스템의 CD가 작성된 드라이브 문자와 다른 드라이브 문자입니까?

    +0

    실제로 .htm 페이지의 경로를 작성하기 위해 실행 파일을 시작하는 데 사용되는 경로를 사용하고 있습니다. 보호 모드가 해제 된 상태에서 작동하므로 문제가되지 않습니다. IE가 사라 졌는지 여부에 관계없이 반환 코드는 항상 42입니다. (ShellExecute의 일반적인 성공 코드는 무엇입니까?) –

    관련 문제