2012-11-27 2 views
0

나는 이것이 쉬운 일이 될 것이라고 생각했지만. . . 자바 프로그램이 사용자의 Windows 파일 연결을 가져 오도록하고 싶습니다. 즉, 사용자가 .txt 파일, .cvs 파일 등을 여는 데 사용하는 정보를 알고 싶습니다. assoc 및 ftype 명령은 해당 정보를 제공하지만 사용자는 제공하지 않습니다. 즉, 텍스트 편집기를 메모장 ++로 설정 한 경우 assoc 및 ftype이 표시하지 않습니다. 대신 시스템 기본값 인 메모장이 표시됩니다. 레지스트리에서 정보를 얻어야하는 것처럼 보입니다.하지만 두 가지 문제가 있습니다. 1) 정확한 레지스트리 키를 알고 싶습니다. ("reg 검색어 HKEY_CURRENT_USER, HKEY_CLASSES_ROOT 등을 보았습니다.) 2) 레지스트리에서 키를 가져 오는 방법을 모르겠습니다. . 나는 JNI가 언급하지만 세부 사항을 파악하지 않은 보았다. 어떤 힌트를 주시면 감사.Java를 통해 Windows 파일 연결 얻기

+1

정확히 달성하고자하는 것은 무엇입니까? [Desktop] (http://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html)은 관련 편집자에서 파일을 열어 파일을 열고 편집 할 수 있습니다. 자세한 내용 [여기] (http://docs.oracle.com/javase/tutorial/uiswing/misc/desktop.html) – MadProgrammer

+0

사용중인 Windows 버전은 무엇입니까? – jedwards

+0

예, java.awt.데스크톱이 필요한 것 같습니다. 저는 Windows 7을 사용하고 있지만 크로스 플랫폼을 원합니다. – ArtD

답변

0

Win7에, 당신은 "클래스"를 찾을 수 있습니다 *

HKLM\SOFTWARE\Classes\<extension>\(Default) 

의 각 파일 확장자에 대한 키

예 : 내 컴퓨터에서

HKLM\SOFTWARE\Classes\.txt 

에는 txtfile (기본값) 키가 있습니다. 내 시스템에서 ...\shell\open\command

의 서브 패스가 있어야

HKLM\SOFTWARE\Classes\txtfile 

,

HKLM\SOFTWARE\Classes\txtfile\shell\open\command\(Default) 

은 다음과 같은 경로에

, 당신은 클래스 txtfile의 파일을 엽니 다 찾을 수 있습니다

%SystemRoot%\system32\NOTEPAD.EXE %1 

.txt 파일을 여는 실행 파일을 찾기 위해 구문 분석 할 수있는 파일.

사용자 고유의 사용자 정의, 당신은 모든 것을이 나는 당신의 응용 프로그램에 대해 가능하면 MadProgrammer의 제안을 좋아했다되고

HKCU\Software\Classes\ 

HKLM\SOFTWARE\Classes\ 

을 대체 할 수 있습니다.

* "class"에 대해 더 나은 이름이있을 것입니다. 단지 모릅니다.

0

원하는대로해야하는 Eclipse의 프로그램 클래스를 살펴보십시오. http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fswt%2Fprogram%2FProgram.html.

프로그램을 시작하려면 Desktop 클래스를 사용하십시오 (예 : MadProgrammer 권장)

+0

그것은 내가 찾고있는 것 이상입니다. "Program.launch ("c : /trash/a.txt ");" 필자가 선호하는 텍스트 편집기를 시작합니다. 많은 감사합니다! – ArtD

+0

그러나 Eclipse에서는 Program.launch()가 작동하지만 Jar 파일에서는 작동하지 않습니다. 그래서 그것이 내 다음 과제입니다. 더 많은 정보가 인정되었습니다. – ArtD

+0

Program을 사용하기 전에 초기화가 필요하다고 생각합니다. 프로그램 클래스를 사용하기 전에 swt 디스플레이를 인스턴스화 할 수 있습니까? – mbelow

관련 문제