很抱歉确认您的担忧,但这无法在 Java 中完成。
由于 Windows 资源管理器是控制者,因此图标叠加是一种插件。它必须作为 DLL 实现(不是 JNI,而是真正的本机 DLL),并在 Windows 注册表中注册。正如您在CodeProject文章中看到的,您的 DLL 必须实现特定的接口 - IShellIconOverlayIdentifier.
TortoiseSVN 的 DLL 由资源管理器加载并附加到其进程:
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /* lpReserved */)
{
...
if (dwReason == DLL_PROCESS_ATTACH)
...
Run Code Online (Sandbox Code Playgroud)
为了在 Java 中做到这一点,您需要编写一个 DLL 来加载 JVM 和您的 JAR,这有点过大了。
至于托盘图标覆盖,您的 Java 应用程序是控制者,因此它可以完成。
| 归档时间: |
|
| 查看次数: |
1742 次 |
| 最近记录: |