2011-11-07 3 views
3

예를 들어 프린터 설치시 .Net 양식 응용 프로그램에서 특정 책갈피를 열려고합니다..Net 응용 프로그램에서 Windows 7 도움말 (helpPane.exe)을 엽니 다.

나는 컨트롤 패널 애플릿을 열어 놓은 것과 동일한 열어 보려했다. (뒤의 예에서는 & 복원).

ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\windows\system32\control.exe", "/name Microsoft.BackupAndRestore"); 

startInfo.UseShellExecute = true; 

Process.Start(startInfo); 

하지만 작동하지 않습니다. .exe를 열지도 않고 성공하지 못했습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?

+0

같은 HelpPane를 사용할 수있는 프로젝트에 C:\Windows\System32\HelpPaneProxy.dll에 대한 참조를 추가 오류 또는 예외가 발생 했습니까? 그렇다면 무엇 이었습니까? 도움이 될 것입니다. – kprobst

+0

예외는 없습니다. 아무 일도 일어나지 않으며 도움의 과정도 시작되지 않습니다. – annavk

+0

흥미 롭습니다. 그래서 어떤 과정도 만들어지지 않았습니까? 'Process.Start'에서 무엇을 얻었습니까? 아무것도? 시작한 앱이 작성 후 자동으로 실패하는 경우 이벤트 로그에 내용이 기록되었을 수 있습니다. – kprobst

답변

1

IIRC HelpPane.exe.h1s 파일과 호환되므로 이러한 파일의 전체 경로가 있다면 예를 들어 Process.Start (@"C:\myDir\myhelpfile.h1s");과 같이 사용할 수 있습니다. MS에 또 다른 옵션 따르면

(대부분을 하나보다 추천)을 HelpPane 호스팅 할 수있다 - 세부 http://msdn.microsoft.com/en-us/library/ms728715%28v=VS.85%29.aspx

다른 중요한 MSDN 링크는 참조하십시오 (기본적으로 COM 객체입니다!) :

위의 링크에서

:

도움말 창 API
은 Windows 도움말 내용 세트를 표시하는 데 사용할 수 있습니다. OEM, 시스템 빌더 및 기업 고객이 라이선스 계약에 따라 사용자 지정할 수 있지만 타사 프로그램에서는 사용할 수 없습니다. Windows 도움말 콘텐츠 집합에 포함되지 않은 콘텐츠 표시는 지원되지 않습니다. 당신이 먼저 MS와 라이센스 계약을 체결해야 달성하려는 작업에 따라

...

편집 - 의견에 따라 :

는 당신이 필요로하는 특정 주제를 표시하려면 해당 주제의 URL로 DisplayTask of the COM object 메소드를 호출하십시오.

편집 2 - 최종 솔루션 의견에 따라 :

다음이

HxHelpPane pHelpPane = new HxHelpPane(); 
pHelpPane.DisplayTask("mshelp://windows/?id=e725b43f-94e4-4410-98e7-cc87ab2739aa"); 
+0

다음 예외가 있습니다. System.ComponentModel.Win32Exception이 처리되지 않았습니다. 메시지 = 지정한 파일을 찾을 수 없습니다. – annavk

+0

@annavk 수정 된 답변을 체크 아웃하십시오 ... – Yahia

+0

실제로 프린터 장벽과 같은 특정 장에 대한 도움말을 검색하고 싶습니다. helpPane이 사용 된 것을 발견했습니다. Windows 7에 대한 프리젠 테이션 도움말.이 API를 열려고하는 이유는이 방법이 있습니까? – annavk

관련 문제