2014-05-18 2 views
0

.mg 파일을 만드는 응용 프로그램을 작성 중입니다. 이 파일에는 정상적인 .txt 파일처럼 레벨에 대한 텍스트 만 있습니다. 이 응용 프로그램의 .mg 파일을 기본으로 실행하도록 설정하려면 어떻게해야합니까?

java에서 수행 할 수있는 방법이 있습니까?특정 파일 형식에 기본 응용 프로그램을 설정하는 방법은 무엇입니까?

+3

: 지금

는 (Windows 레지스트리에서

수정을 위해 자사의 코드)를 통해 UR 욕망 키 코드 아래에 수정하려고 자바에서 수정보다해야 할 일. 어떤 OS, DE 및 파일 탐색기에서도 작동하도록 할 방법이 없습니다. – tilpner

+1

Windows에서이 유형을 기본 응용 프로그램과 함께 추가하려면 적절한 regedit 명령을 실행해야합니다. –

답변

0

U는 레지스트리 수정으로이 작업을 수행해야합니다.

단계는 u를 수정해야 키가 무엇인지 알아야 할 사항

확장 HKEY_CLASSES_ROOT 키에 연결되어 있습니다.

1.Open HKEY_CLASSES_ROOT 및 확장에 대한 키를 생성 (존재하지 않는 경우)

2.Open을 그 키에 쓰기 :

는 자신의 연결을 만들려면 다음과 같이 당신의 "처리기"의의 DefaultValue 이름 - MyApp_ext

3.Close 현재 키와 같은 뭔가를해야만하고 핸들러의 이름으로 HKEY_CLASSES_ROOT 안에 다른 키를 생성 (MyApp_ext)

,536,

4.이 키를 열고이 확장의 DefaultValue 설명을 작성하십시오.

5. 핸들러 키 내부에 DefaultIcon 키를 생성하십시오.

6. 해당 키를 열고 아이콘이 포함 된 파일의 DefaultValue 전체 경로를 작성하십시오. 현재 키 7.Close

키 핸들러 키가

8.Open 내부 \ 셸 \ 열기 \ 명령 키를 생성하고 매개 변수를 포함하여 응용 프로그램의 DefaultValue 전체 경로로 작성합니다.

8. 파일 확장자 연관을 만드는 데 문제가있을 경우 regedit을 열고 H ** KEY_CLASSES_ROOT ** 키 내부의 구조를 살펴보십시오. 당신은 할 수 없습니다

import com.sun.jna.platform.win32.Advapi32Util; 
import com.sun.jna.platform.win32.WinReg; 

public class WindowsRegistrySnippet { 
    public static void main(String[] args) { 
     // Read a string 
     String productName = Advapi32Util.registryGetStringValue(
      WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName"); 
     System.out.printf("Product Name: %s\n", productName); 

     // Read an int (& 0xFFFFFFFFL for large unsigned int) 
     int timeout = Advapi32Util.registryGetIntValue(
      WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows", "ShutdownWarningDialogTimeout"); 
     System.out.printf("Shutdown Warning Dialog Timeout: %d (%d as unsigned long)\n", timeout, timeout & 0xFFFFFFFFL); 

     // Create a key and write a string 
     Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "SOFTWARE\\StackOverflow"); 
     Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "SOFTWARE\\StackOverflow", "url", "http://stackoverflow.com/a/6287763/277307"); 

     // Delete a key 
     Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "SOFTWARE\\StackOverflow"); 
    } 
} 
관련 문제