> 백엔드 개발 > C++ > C#에서 파일 확장자를 실행 파일과 프로그래밍 방식으로 연결하려면 어떻게 해야 합니까?

C#에서 파일 확장자를 실행 파일과 프로그래밍 방식으로 연결하려면 어떻게 해야 합니까?

Barbara Streisand
풀어 주다: 2025-01-20 16:14:14
원래의
490명이 탐색했습니다.

How Can I Programmatically Associate File Extensions with Executables in C#?

C#에서 파일 확장자와 실행 파일 연결

C# 자체에는 파일 연결을 관리하는 API가 내장되어 있지 않습니다. 그러나 파일 연결 정보가 레지스트리에 저장되므로 레지스트리 API를 활용하여 Windows 레지스트리에 액세스하고 수정할 수 있습니다.

특정 파일 확장자를 실행 파일과 연결하려면 HKEY_CLASSES_ROOT 아래에 레지스트리 키를 만들어야 합니다.

  1. 파일 확장자의 하위 키 생성:

    • HKEY_CLASSES_ROOT 아래에 파일 확장자(예: .txt)로 명명된 하위 키를 만듭니다.
    • 이 하위 키의 기본값을 "Acme.TextFile"과 같은 파일 형식에 대한 고유한 이름으로 설정하세요.
  2. 파일 유형 하위 키 생성:

    • 이전 단계에서 사용한 이름(예: "Acme.TextFile")을 사용하여 HKEY_CLASSES_ROOT 아래에 하위 키를 만듭니다.
  3. 기본 아이콘 설정:

    • 파일 유형 하위 키 아래에 "DefaultIcon"이라는 하위 키를 추가합니다.
    • "DefaultIcon"의 기본값을 사용할 아이콘의 경로와 인덱스로 설정합니다.
  4. 컨텍스트 메뉴 작업 추가:

    • 파일 유형 하위 키 아래에 "shell"이라는 하위 키를 만듭니다.

    • "쉘" 하위 키 아래에 추가하려는 각 상황에 맞는 메뉴 작업에 대한 하위 키를 만듭니다.

    • 각 작업 하위 항목의 기본값을 다음 문자열로 설정합니다.

      • "executable_path" "%1"
      • "executable_path"을 실행 파일의 경로로 바꾸고 "%1"를 인수로 전달된 파일 경로의 자리 표시자로 바꿉니다.

예를 들어, .txt 파일을 EmEditor와 연결하려면 다음 레지스트리 키를 생성해야 합니다:

<code>[HKEY_CLASSES_ROOT\.txt]
@="emeditor.txt"

[HKEY_CLASSES_ROOT\emeditor.txt]
@="Text Document"

[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]
@="%SystemRoot%\SysWow64\imageres.dll,-102"

[HKEY_CLASSES_ROOT\emeditor.txt\shell]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" /p \"%1\""</code>
로그인 후 복사

위 내용은 C#에서 파일 확장자를 실행 파일과 프로그래밍 방식으로 연결하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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