java - Java中自定义文件的自定义图标

标签 java windows

我正在用 Java 编写一个 Windows 程序(比如屏幕上的贴纸,用于写一些重要的笔记等)。它会自动保存并编码您在关闭时输入的所有内容。为了保存,我制作了自定义文件扩展名 (.T22),但它显​​示为空白页。我想在程序首次启动时自动更改它。基本上我想要保存文件的自定义图标,例如 photoshop 的 .psd 文件,但都是用 java 制作的。

我尝试浏览了很多网站,但我什至找不到任何人谈论它。

最佳答案

这无法通过 Java 实现。好吧,至少没有管理员权限。 Windows 通过从 Windows Registries. 中获取值来显示文件扩展名的图标问题是,当一个图标出现时,它必须根据 this link. 为所有用户使用。在链接中,引用了 HKEY_CLASSES_ROOT 以实现该目的。这就是“管理员权限”部分的来源。值得一提的是,虽然不能 100% 确定,只有当您以管理员身份执行 cmd 时,.JAR 文件(java 应用程序)才能以管理员权限执行然后是 java -jar myapp.jar。为了从 Java 编辑这些注册表,我一天花了很多时间,但没有管理员权限我无法做到这一点。 (如果你这样做了,请告诉我你是怎么做的:))

现在,假设您拥有管理员权限,一种方法很简单 来自管理员特权 cmdreg 命令。

不过,如前一个链接所述,您不能简单地(我不太确定)更改文件扩展名的图标,而不提供程序的可执行文件 (.exe) 的完整路径。是的,您猜对了,您的程序不是 Windows 可执行文件。它只是一个压缩文件。所以,这也被拒绝了。

现在,您的问题直接转到 How can I convert a JAR file to an EXE file? .然后,再加上管理员权限,您就可以做到这一点。

不过,我个人的建议是找到一个 JAR 到 EXE 转换器,它在程序安装期间提供此选项。我的意思是,我确定您在 Windows 安装中看到过类似“将 .txt 文件与记事本++ 关联”的东西。

关于java - Java中自定义文件的自定义图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56237322/

相关文章:

java - 如何运行一系列动画?动画集让我失望

java - 如何从 SOAP 消息中删除空 header ?

windows - 应该将 npm 全局安装在 AppData\Roaming 中吗?

java - 使用 JNDI 的 NameAlreadyBoundException

循环删除 JButton 时发生 Java ArrayIndexOutOfBoundException

java - 如何使用 Guava 中的 Splitter.MapSplitter 拆分字符串直到特定键?

java -'javac' 在 Windows 7 中不被识别为内部或外部命令

windows - Carbon Accessibility API - 跨空间获取窗口信息

windows - Git Windows 安装程序不允许我选择安装位置

windows - 如何检查是否安装了 Windows 通讯簿或 Windows 联系人