> 백엔드 개발 > C++ > 레지스트리 항목을 사용하여 파일 확장자를 내 C 응용 프로그램과 연결하려면 어떻게 해야 합니까?

레지스트리 항목을 사용하여 파일 확장자를 내 C 응용 프로그램과 연결하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-11-27 13:52:11
원래의
479명이 탐색했습니다.

How can I associate a file extension with my C   application using registry entries?

C에서 응용 프로그램과 파일 확장명 연결: 세부 가이드

C 응용 프로그램과 연결된 파일을 두 번 클릭하고 호출할 수 있도록 하려면 파일 이름이 매개변수로 전달된 응용 프로그램에서 레지스트리 항목을 생성하는 것은

레지스트리 항목 생성

MSDN 기사에 설명된 대로 두 가지 주요 단계가 포함됩니다.

  • 등록 ProgID: ProgID(파일 형식 레지스트리 키)는 아이콘, 설명, 컨텍스트를 포함한 파일 형식 속성을 보유합니다. 메뉴 옵션.
  • 파일 확장자 등록: 이 단계에서는 ProgID에 파일 확장자를 할당하여 확장자와 파일 형식 간의 연결을 생성합니다.

이러한 단계를 보여주는 샘플 .reg 파일은 다음과 같습니다.

[HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command]
@="c:\path\to\app.exe \""%1"\""
[HKEY_CURRENT_USER\Software\Classes\.blerg]
@="blergcorp.blergapp.v1"
로그인 후 복사

프로그래밍 방식 구현 C에서

C에서 SetValue 함수를 사용하면 프로그래밍 방식으로 레지스트리 키를 생성할 수 있습니다.

Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command", null, @"c:\path\to\app.exe \"%1\"\""), 
Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\.blerg", null, "blergcorp.blergapp.v1");
로그인 후 복사

Hive Selection

예에서는 종종 HKEY_CLASSES_ROOT에서 이러한 키를 설정하는 것이 좋습니다. 사용하는 것이 좋습니다. HKEY_CURRENT_USER는 사용자별 연결을 설정합니다. 이렇게 하면 한 사용자가 변경한 사항이 다른 사용자에게 영향을 주지 않습니다.

정리

응용 프로그램 제거 시 파일 연결을 위해 생성된 레지스트리 항목은 명시적으로 제거하지 않는 한 그대로 유지됩니다. . 제거 중에 이러한 항목을 제거하려면 레지스트리 정리 메커니즘을 구현하는 것이 좋습니다.

추가 리소스

자세한 내용은 다음을 참조하세요.

  • [파일 모범 사례 연결](https://docs.microsoft.com/en-us/windows/win32/fileassoc/best-practices-for-file-association)
  • [파일 형식 및 파일 연결](https:/ /docs.microsoft.com/en-us/windows/win32/fileassoc/file-types-and-file-association)
  • [파일 연결 방법 업무](https://docs.microsoft.com/en-us/windows/win32/fileassoc/how-file-associations-work)

위 내용은 레지스트리 항목을 사용하여 파일 확장자를 내 C 응용 프로그램과 연결하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿