2012-03-23 2 views
7

Tortoise SVN 또는 Dropbox처럼 파일 및 폴더에 아이콘 오버레이를 구현하려고합니다.Windows 용 Java에서 파일 아이콘 오버레이

저는 인터넷에서 많은 검색을 했었지만 Java로는 해결책을 찾을 수 없습니다.

아무도 도와 줄 수 있습니까? enter image description here

+1

좋은 질문,하지만 난 그것을 자바 프로그램의 실행과 같은 일을 할 수 없습니다 생각 자바 가상 머신은 실행중인 운영체제와 분리시킨다. 확실하지 않은 답변으로 게시하지 않습니다. –

+0

실제로 변경을 수행하기 위해 네이티브 코드로 점프하기 위해 JNI를 사용해야 할 것입니다 (즉, 일부 WinAPI를 통해 가능할 수도있는 경우). – Java42

+0

@ W.Goeman 네, 자바에서 어렵거나 불가능한 것처럼 보입니다.하지만 쉽게 할 수있는 방법이 있어야한다고 생각합니다. 모르겠지만 어쩌면 거기에 자바 또는 등 overlaying 라이브러리에 대한 도서관이 있습니다 – baharcglr

답변

4

당신의 두려움을 확인해 드려 죄송합니다. 자바에서는 할 수 없습니다.

Windows 탐색기가 제어 대상이므로 아이콘 오버레이는 일종의 플러그 인입니다. DLL (JNI가 아닌 실제 DLL)로 구현되어야하며 Windows 레지스트리에 등록되어야합니다. CodeProject 문서에서 보았 듯이 DLL은 특정 인터페이스 인 IShellIconOverlayIdentifier을 구현해야합니다.

예를 들어 TortoiseSVN implementation을 예로 들자.

TortoiseSVN을의 DLL은 Explorer에서로드하고 프로세스에 연결되어

DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /* lpReserved */) 
{ 
    ... 
    if (dwReason == DLL_PROCESS_ATTACH) 
    ... 

당신이 될 것 JVM과 JAR를로드 할 DLL을 쓸 필요가 자바에서이 작업을 수행하기 위해 과잉.

트레이 아이콘 오버레이는 Java 응용 프로그램이 제어 할 수 있도록되어 있으므로 수행 할 수 있습니다.

관련 문제