문제

몇 가지 질문이 있습니다.

1) 내 프로그램 변경 필드 타입 연관성을 만들 수 있지만시기에만 실행중인 경우에만 가능합니까? 이 행동에 문제가 있습니까?

2) 내가보고있는 다른 옵션은 사용자가 내 신청서를 열거 나 기본 연관성을 복원하기로 결정할 수 있도록하는 것입니다. 어떻게 할 수 있습니까? 그것이 최선의 접근법이라고 생각하십니까?

도움이 되었습니까?

해결책

파일 협회와 관련하여, 나는 최소한 "어떻게"를 다룹니다..

또한 백업 및 복원을 처리하는 방법을 올바른 방향으로 지적해야합니다. C#을 통한 직접 레지스트리 액세스를 사용하면 .reg 파일을 사용할 필요가 없으므로 앱에서 좋아하는 경우 이전 값을 자유롭게 백업 할 수 있으며 여기에서 복원 할 수 있습니다.

여기서 중요한 질문은 다음과 같습니다. 해야 한다 파일 연결을 무작위로 변경합니까? 최소한 사용자에게 위로 묻는 것은 분명히 필요할 것입니다 (또한 지시 한 바와 같이).

또한 UAC가 활성화 된 Vista 사용자 또는 다른 Windows 버전의 비정규 사용자는 글로벌 파일 연결을 변경하는 데 필요한 권한이 없을 수 있습니다. 프로그램의 (UN) 설치 절차는 이것이 성공할 수있는 유일한 장소 일 수 있습니다.

편집하다

처럼 Franci Penov는 그의 대답에 나타났습니다, 거기 ~이다 Admin이 아닌 사람들의 경우에도 사용자 당 지역 파일 연관성을 변경하는 방법 (이전 단락에서 "글로벌 협회"에 대해 이야기 한 이유). 그는 또한 왜 지나가는 것이 지나치게 권장되지 않는지 언급했습니다.

다른 팁

시작시 주 응용 프로그램이 실행 중인지 확인하고 파일 이름을 전달하는지 또는 실행되지 않으면 실행되지 않는 경우 "파일 확장자와 연관하여"파일 온 "파일 연관 변경을 구현할 수 있습니다. 정기적 인 "관련 응용 프로그램.

이 접근법의 주요 장점은 레지스트리를 한 번만 뭉쳐야한다는 것입니다.

이 접근법의 주요 단점은 다음과 같습니다.

  • 도우미 과정이 필요합니다
  • 이 파일 확장자를 "소유"하는 응용 프로그램은 변경 사항을 감지하고 사용자에게 불만을 제기하여 "수리"를 촉구하여 사진에서 벗어날 수 있습니다.

또는 메인 프로그램 시작시 파일 연관성을 변경할 수 있습니다. 이것은 아드먼이 아닌 사용자에게도 효과가 있습니다. 파일 연관이 저장되어 있습니다 HKEY_CLASSES_ROOT, 작은 속임수가 있습니다 -HKCR은 실제로 둘 다의지도입니다. HKEY_LOCAL_MACHINE\SOFTWARE\Classes 그리고 HKEY_CURRENT_USER\SOFTWARE\Classes. 따라서 HKCU의 현재 사용자에 대한 파일 확장자와 HKLM의 원래 연관성을 "섀도우"에 일시적으로 등록 할 수 있습니다.

물론,이 접근법에 대해 조언 할 것입니다. 해당 연관성을 영구적으로 만들기 위해 응용 프로그램에서 한 번의 충돌이 필요하기 때문에 HKCU의 파일 연결을 다루는 방법을 아는 응용 프로그램은 거의 없기 때문에 복구 할 수없는 상황 일 가능성이 있습니다. 원래 응용 프로그램.

아마도 할 수 있지만 나는 그것이 번거롭게 될 것이라고 생각합니다. 모든 파일 유형 연결은 레지스트리에 저장되므로 앱이 시작되고 중지 될 때마다 레지스트리 항목을 작성/되돌려야합니다. 또한, 얼마나 자주하는지에 따라 새로운 협회가 Windows 탐색기에서 즉시 픽업되지 않을 수 있습니다.

연관성은 레지스트리의 HKEY_CLASSES_ROOT 아래에 나열되어 있으며 무수한 방식 (MIME 유형/프로위/등)을 매핑 할 수 있습니다.

내가 본 많은 앱은 설치 시간 동안 특정 파일 유형을 응용 프로그램과 연결할 것인지 묻고 옵트 아웃하고 현재 설정을 떠날 수있는 기능을 제공합니다.

"파일"파일 유형 연관성을 추천하지 않을 것 같아요

1) 열린 대화 상자 파일 유형 드롭리스트에있는 파일 유형을 정의하게됩니다. 그 외에는 그렇습니다 가능한 파일 유형 연관성이 레지스트리 설정 일 뿐이므로 응용 프로그램을 열면 FileType 기본값을 변경 한 다음 응용 프로그램을 닫는 동안 교체하려면 교체하십시오.

잘못에 관해서는, 나는하지 않을 것입니다. 첫 번째 이유는 응용 프로그램의 표준 동작이 아니기 때문입니다. 두 번째 이유는 응용 프로그램이나 PC가 예기치 않게 종료되면 연관성을 원래 설정으로 반환하지 않을 위험이 있기 때문입니다.

2) 기본적으로 Windows를 사용하면 사용자가 마우스 오른쪽 버튼을 클릭하고 "Open with"명령을 사용하여 이러한 옵션을 선택할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top