0

mailto : 프로토콜을 처리 할 수있는 프로그램을 작성 중입니다. 사용자가 내 프로그램을 기본 이메일 처리기로 선택할 수 있도록하기 위해 프로그램을 등록했습니다. 그러나 일부 프로그램은 회사 이름 아래 회사 웹 사이트 (예 : 파일 탐색기)에 클릭 가능한 링크를 표시하는 것으로 나타났습니다.제어판 - 기본 프로그램에 표시된 프로그램 세부 정보에 웹 주소를 추가하는 방법

내 앱이 선택되었을 때 기본 프로그램 UI에 표시되도록 내 웹 사이트에 대한 링크를 어떻게 지정합니까?

나는 Microsoft Visual Studio 2013을 사용합니다. 다음은 .reg 형식의 프로그램 등록 정보입니다.

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications] 
"MyMail"="SOFTWARE\\MyFirm\\MyApp\\Capabilities" 

[HKEY_LOCAL_MACHINE\SOFTWARE\MyFirm\MyApp\Capabilities] 
"ApplicationDescription"="This is an awesome description." 
"ApplicationName"="Awesome App" 

[HKEY_LOCAL_MACHINE\SOFTWARE\MyFirm\MyApp\Capabilities\URLAssociations] 
"mailto"="mailto.2" 

[HKEY_CLASSES_ROOT\mailto.2] 
@="URL:MailTo Protocol" 
"EditFlags"=dword:00000002 
"FriendlyTypeName"="My Mail Client" 
"URL Protocol"="" 

[HKEY_CLASSES_ROOT\mailto.2\shell\open\command] 
@="\"C:\\bg\\awesome.exe\" \"%l\"" 

다음은 파일 탐색기에 대한 클릭 가능한 링크의 예입니다.

  1. 는 모든 앱이 링크를 표시 : File Explorer

    여기 이것은 내가 지금까지 알아 낸 것입니다 링크 My App - no link

    이없는 내 응용 프로그램입니다.

  2. Microsoft 및 타사 응용 프로그램 모두에서이 링크를 표시 할 수 있습니다. 예를 들어, CyberLink PowerDVD는 www.cyberlink.com에 대한 링크를 표시합니다.

  3. 일부 Microsoft 응용 프로그램은 링크를 표시하지 않으며 링크를 표시하는 응용 프로그램은 URL이 다를 수 있습니다. 예를 들어, Microsoft Corporation의 세 가지 응용 프로그램 : 그림판 - 링크 없음, 사진 갤러리 - http://www.microsoft.com, Visual Studio 2013 - http://microsoft.com (www가 없습니다).

  4. Skype for Desktop은 회사 Skype Technologies S.A.와 http://www.microsoft.com에 대한 링크를 보여줍니다.

  5. 링크 주소가 레지스트리에 저장되어있는 것처럼 보이지 않습니다. shell \ open \ command 아래에 나열된 실행 파일에 저장됩니다.

  6. 실행 파일에 리소스로 저장되지 않은 것 같습니다.

  7. strings tool from sysinternals은 실행 파일에서 링크 주소를 찾지 못합니다.

답변

0

기본 프로그램의 프로그램 및 회사 이름 아래에 표시된 URL은 인증 된 속성 1.3.6.1.4.1.311.2.1.12로 디지털 서명에 저장됩니다.

이 값을 설정하는 한 가지 방법은 Visual Studio 명령 프롬프트에서 signtool을 사용하는 것입니다.

signtool sign /s My /n "RegmagiK Software" /du "http://www.RegmagiK.com" awesome.exe 

인증서가 신뢰할 수있는 인증 기관의 서명이 있어야합니다 : URL은 예를 들어 /du 매개 변수 후 값이다.

테스트를 위해 makecert 도구를 사용하여 자체 서명 된 인증서를 만들고 인증서 관리자를 사용하여 신뢰할 수있게 만들 수 있습니다.

makecert -r -ss My -sr CurrentUser -n "CN=RegmagiK Software" SelfSigned.cer 
certmgr.exe /add SelfSigned.cer /s /r currentUser root 

실행 파일에 서명 한 후 기본 프로그램을 다시 열고 응용 프로그램을 클릭하십시오. 이제 사이트에 대한 링크가 표시됩니다. Properly signed executable has the link