파일 형식 을 등록 하고 관련 프로그램 (1)

windows 에 서 는 파일 확장자 에 따라 아이콘 이 다 릅 니 다.그러나 프로그램 이 자신 이 정의 한 파일 확장자 (예 를 들 어. guo) 를 사용 하면 windows 가 '알 수 없 는 형식' 이라는 것 을 발견 하면 기본 알 수 없 는 형식 아이콘 이 표 시 됩 니 다. 보기 싫 고 파일 에서 파일 을 빨리 찾 을 수 없습니다.
따라서 본 고 는 레 지 스 트 를 통 해 파일 을 변경 하 는 기본 아이콘 을 어떻게 실현 하 는 지 소개 할 것 이다.
 
'guo 형식' 을 예 로 들 면:
파일 확장자
.guo
기본 아이콘
D:\bin\Guo.ico
묘사 하 다. 
내 Guo 파일 ("설명"은 Explorer 상세 목록 의 "형식"열 에 표 시 됩 니 다)
프로그램 열기
D:\bin\Guo.exe
 
C\# 에서 실행 하기 만 하면 됩 니 다:
Registry.SetValue(@"HKEY_CLASSES_ROOT\.guo", "", "MyGuo");//               
Registry.SetValue(@"HKEY_CLASSES_ROOT\MyGuo", "", "  Guo  ");//       “  ”
Registry.SetValue(@"HKEY_CLASSES_ROOT\MyGuo\DefaultIcon", "", @"D:\bin\Guo.ico"); //  
Registry.SetValue(@"HKEY_CLASSES_ROOT\MyGuo\shell\open\command", "", "D:\\bin\\Guo.exe \"%1\"");//    

. guo 파일 에 기본 아이콘 과 기본 연결 프로그램 을 만 들 수 있 습 니 다.그 중 마 이 구 는 구 의 별명 이다.
command 에서% 1 은 (는) D:\bin\a. guo 파일 을 두 번 누 르 면 다음 명령 행 을 실행 하 는 것 과 같은 파일 이름 을 입력 하 는 것 을 의미 합 니 다.
D:\bin\Guo.exe “D:\bin\a.guo”

이렇게 하면 Guo. exe 가 시작 되 는 동시에 static void Main (string [] args) 의 args 인 자 를 통 해 파일 경 로 를 얻 을 수 있 습 니 다. 
위 코드 를 실행 한 후에 탐색 기 에 있 는 'guo 파일 아이콘' 이 바 뀌 지 않 았 다 는 것 을 알 게 될 것 입 니 다. 그것 은 탐색 기 나 컴퓨터 를 다시 시작 해 야 효력 이 발생 하기 때 문 입 니 다.그럼 재 부팅 없 이 실시 간 으로 효력 이 발생 하 는 방법 은 없 을까요?네, API 를 사용 하여 이 루어 집 니 다. 
[System.Runtime.InteropServices.DllImport("shell32.dll")]
public static extern void SHChangeNotify(uint wEventId, uint uFlags, IntPtr dwItem1, IntPtr dwItem2);

그리고 위의 코드 뒤에 이 문장 을 추가 합 니 다.
SHChangeNotify(0x8000000, 0, IntPtr.Zero, IntPtr.Zero);

뭐 공부 해요?
다음으로 전송:https://www.cnblogs.com/jifengg/archive/2013/05/09/3068955.html

좋은 웹페이지 즐겨찾기