Tortoise SVN 또는 Dropbox처럼 파일 및 폴더에 아이콘 오버레이를 구현하려고합니다.Windows 용 Java에서 파일 아이콘 오버레이
저는 인터넷에서 많은 검색을 했었지만 Java로는 해결책을 찾을 수 없습니다.
아무도 도와 줄 수 있습니까?
Tortoise SVN 또는 Dropbox처럼 파일 및 폴더에 아이콘 오버레이를 구현하려고합니다.Windows 용 Java에서 파일 아이콘 오버레이
저는 인터넷에서 많은 검색을 했었지만 Java로는 해결책을 찾을 수 없습니다.
아무도 도와 줄 수 있습니까?
당신의 두려움을 확인해 드려 죄송합니다. 자바에서는 할 수 없습니다.
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 응용 프로그램이 제어 할 수 있도록되어 있으므로 수행 할 수 있습니다.
나는 동일한 문제가 있었으며 Java 및 1.7.x 용 솔루션을 기본 및 jni dll과 함께 발견했습니다. Windows Vista +, Mac 및 Linux에서 작동합니다. 그래서 여기에 질문을 내보기 https://github.com/liferay/liferay-nativity
:
는 여기에서 GIT 프로젝트를 찾을 수 있습니다 Method to implement Windows Explorer icon overlays with Java
좋은 질문,하지만 난 그것을 자바 프로그램의 실행과 같은 일을 할 수 없습니다 생각 자바 가상 머신은 실행중인 운영체제와 분리시킨다. 확실하지 않은 답변으로 게시하지 않습니다. –
실제로 변경을 수행하기 위해 네이티브 코드로 점프하기 위해 JNI를 사용해야 할 것입니다 (즉, 일부 WinAPI를 통해 가능할 수도있는 경우). – Java42
@ W.Goeman 네, 자바에서 어렵거나 불가능한 것처럼 보입니다.하지만 쉽게 할 수있는 방법이 있어야한다고 생각합니다. 모르겠지만 어쩌면 거기에 자바 또는 등 overlaying 라이브러리에 대한 도서관이 있습니다 – baharcglr